Błąd z którym mam problem tkwi w samym Dlephi. Kiedy umieszcze na formie TButton, a następnie ustawie zdarzenie np. Form1.OnMouseWheelDown; to zdarzenie to wywołuje się dwukrotnie przy jednym przesunięciu rolki.
Teraz drugi przypadek: zamiast TButton umieszczam TPanel i zdarzenie OnMouseWheelDown wywołuje się prawidłowo tylko jeden raz. Ale kiedy dodam kolejne zdarzenie Form1.OnShow i wpisze w nim Panel1.SetFocus; zdarzenie znowu wywołuje się dwukrotnie.
Doszedłem do wniosku że ma to ścisły związek z focusem, gdyż TButton psuje zdarzenia z rolką a TSpeedButton już nie. Ma ktoś pomysł jak to naprawić ?
W moim programie korzystam ze zdarzeń MouseWheel, oraz z TTrackBar, który wygląda fatalnie z focusem. Dlatego ustawiłem w TrackBar1.OnChange żeby focus przechodził na inny komponent(schowany TPanel). Ale takie właśnie rozwiązanie psuje mi zdarzenia mousewheel. Może jest jakiś inny sposób żeby się pozbyć focusa ?
Posiadam Delphi 6 Personal.