Button Animieren ???
-
Hallo
wo liegt der fehler in dem Programm der Button geht nicht mit der schleife auf eine andere Position sondern springt direckt nach schleifenende auf das ziel
Quelltext:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i = 0; i < 300; i++)
{
B1->Left =i;
Sleep(2);
L1->Caption = IntToStr(i);
}}
-
Hallo!
mit Sleep(2) wirst wohl nicht wirklich glücklich werden, das bedeutet nämlich dass er ganze 2 Millisekundne wartet, probiers mal mit Sleep(3000) => 3sec dann dürftest was sehen.
mfg
Tom
-
Hallo,
Füge mal Application->ProcessMessages(); am Ende deiner Schleife ein.
Ciao
[\edit]Das mit dem sleep stimmt natürlich.[edit]
-
whau so schnell eine antwort danke

-
So klappt es Danke noch mal

void __fastcall TForm1::Button1Click(TObject *Sender)
{
for (int i = 0; i < 300; i++)
{
B1->Left =i;
Sleep(20);
L1->Caption = IntToStr(i);
Application->ProcessMessages();
}}
aber was hat es mit Application->ProcessMessages(); auf sich ???
-
Mit "Application->ProcessMessages();" wird Windows benachrichtigt, alle internen Botschaften (Messages) zu verarbeiten, ansonsten würdest du nur den letzten Zustand sehen.
-
Das steht meines Wissens nach auch so etwa in der Hilfe.
