Hi zusammen,
Hab ein kleines Problem. Ich hab ein Programm bei dem ich mit dem ScrollWheel eine ScrollBar durchScrollen kann. Ich hab dafür auf der Main Form "KeyPreview" auf true gesetzt. Jetzt kann ich mit dem Ereigniss OnMouseWheel darauf regieren un die ScrollBar bewegen. Mein Problem: Die Funktion FormMouseWheel wird am Anfang immer gleich 3 mal aufgerufen. Nach ein paar Minuten "fängt" sich die Funktion und alles klappt Prima. Wie kann ich verhindern das am Anfang die Funktion immer 3mal aufgerufen wird?
Hier der Code zum OnMouseWheel Ereigniss:
<PRE>
void __fastcall TFORM_MAIN::FormMouseWheel(TObject *Sender,
TShiftState Shift, int WheelDelta, TPoint &MousePos, bool &Handled)
{
Application->ProcessMessages();
if (WheelDelta == -120) // hoch Scrollen
{
try
{
ScrollBar1->Position += 1;
}
catch(...)
{
Application->ProcessMessages();
}
}
}
</PRE>
Hab ein kleines Problem. Ich hab ein Programm bei dem ich mit dem ScrollWheel eine ScrollBar durchScrollen kann. Ich hab dafür auf der Main Form "KeyPreview" auf true gesetzt. Jetzt kann ich mit dem Ereigniss OnMouseWheel darauf regieren un die ScrollBar bewegen. Mein Problem: Die Funktion FormMouseWheel wird am Anfang immer gleich 3 mal aufgerufen. Nach ein paar Minuten "fängt" sich die Funktion und alles klappt Prima. Wie kann ich verhindern das am Anfang die Funktion immer 3mal aufgerufen wird?
Hier der Code zum OnMouseWheel Ereigniss:
<PRE>
void __fastcall TFORM_MAIN::FormMouseWheel(TObject *Sender,
TShiftState Shift, int WheelDelta, TPoint &MousePos, bool &Handled)
{
Application->ProcessMessages();
if (WheelDelta == -120) // hoch Scrollen
{
try
{
ScrollBar1->Position += 1;
}
catch(...)
{
Application->ProcessMessages();
}
}
}
</PRE>
Comment