button mit animation



  • hi ich möchte buttons animieren.

    also z.b soll ein selbstgezeichneter button im fenster rumfliegen.

    mit der animationstechnik von gdi objekten oder bmp's gehts ja nicht.

    was gibt es da für möglichkeiten?



  • Sicher geht das mit bmps, animiert mit mouseover, tranparent, sounds allem drum und dran. Vorraussetzung eigene Buttonklasse machen.

    Sogar mit weit über 100 Frames pro Sekunde...



  • achsooo okay.

    wie isn das dann? sollte ich dann am besten double Buffering benutzen, wenn z.b
    drei oder 4 Buttons durchs fenster flitzen oda is das dann noch nicht nötig?



  • Du brauchst nur einen Backbuffer auf den du dann zeichnest und diesen dann mit BitBlt auf den Frontbuffer(Monitor) flippst.



  • achso wie isn das mit der Buttonklasse. Is das dann schon c++?
    weil ich kann gerade noch nur c und da gibts keine klassen oda?



  • Die Verwendung einer Klasse ist schon c++. Es geht auch mit struct, aber das wäre im Vergleich nicht so simpel finde ich.



  • achso okay... und wieso müssen die in einer eigenen klasse definiert sein?

    und reicht das dann schon so?

    struct
    {
       HWND hWndButton1;
       HWND hWndButton2;
       HWND hWndButton3;
    } button;
    


  • Eher nicht.

    struct Button
    {
    	RECT m_rect;
    	HBITMAP m_bitmap_static;
    	HBITMAP m_bitmap_static_msk; //transparenz?
    
    	char m_caption[128];
    	int m_ID;
    	bool m_visible;
    	bool m_pressing;
    	bool m_pressed;
    	bool m_mouseover;
    };
    

    Dann brauchst du noch mindestens eine Render-Funktion. Und Funktionen die den Benutzerinput Mausposition und Mausklick verarbeiten.

    Dann musst du dich natürlich noch ausgiebig mit HDC's beschätigen. Gute Funktionen für den Userinput sind auch ein Muss, genauso wie ein Timer. Ich glaube der Aufwand wird für dich zu hoch.



  • okay danke,

    den timer und die sachen mit der maus bekomme ich bestimmt hin.

    ich versuchs mal..

    da kommen bei mir 2 Fehler:

    error C2059: Syntaxfehler: '['
    error C2238: Unerwartete(s) Token vor ';'

    bei visual c++ express.



  • Weil ichs in C++ geschriben habe 😉

    typedef struct Button 
    { 
        RECT m_rect; 
        HBITMAP m_bitmap_static; 
        HBITMAP m_bitmap_static_msk; //transparenz? 
    
        char m_caption[128]; 
        int m_ID; 
        BOOL m_visible; 
        BOOL m_pressing; 
        BOOL m_pressed; 
        BOOL m_mouseover; 
    }Button;
    

    Es ist schon spät, ich brauch gerade 100 edits um etwas vernünftiges zu schreiben 😃


Anmelden zum Antworten