TImageList->Draw()



  • Hi,

    ich hab jetzt mal versucht, eine TImageList zu benutzen.
    Funktioniert auch wunderbar mit der Methode Draw(),
    aber nur, wenn ich sie im FormCreate benutze.
    Das hier funktioniert nicht:

    void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
    	TShiftState Shift)
    {
     if (Key == 65 || Key == 37)  //nach links
     {
      vplx = max (0,vplx - vplspeed);
      il1->Draw(ima->Canvas,vplx,300,1);
     }
    }
    

    (il1 ist die ImageList, ima ein TImage)

    Aber Warum?

    mfg
    Jakel



  • Hallo

    Benutze den Debugger um festzustellen ob
    - Der Event überhaupt ausgelöst wird
    - Welche Werte vplx und vplspeed beim Aufruf haben

    bis bald
    akari



  • Hi,

    Hab ich bereits getan.
    vplx hat den Wert 185 zu Anfang, also danach 184.
    Das Image ima ist 400 Pixel lang, das sollte also kein Problem sein.
    Ich habe auch bereits überprüft ob das Event ausgelöst wird, und es wird ordnungsgemäß ausgeführt.

    mfg
    Jakel



  • Jetzt is mir durch Zufall was aufgefallen.
    Wenn ich das Event auslöse, mit Alt+Tab eine andere Anwendung anwähle und dann wieder das Programm, dann zeichnet er es.
    Brauch ich da vielleicht sowas wie eine Refresh() Methode?

    mfg
    Jakel


Anmelden zum Antworten