Zabrałem się za pisanie prostego komponentu do obsługi obrazkowych przycisków.
Kod niezbyt skomplikowany bo sprowadza się tylko do obsługiwania zdarzeń CM_MOUSEENTER, CM_MOUSELEAVE, WM_LBUTTONDOWN, WM_LBUTTONUP i zmieniania obrazka w zależności właśnie od otrzymanego komunikatu.

Problem pojawił się po dodaniu obsługi komunikatu WM_LBUTTONUP. Po kilkukrotnym szybkim naciśnięciu przycisku komunikaty nie docierają już do żadnego innego komponentu na formie (Nie daje się przesuwać nawet formy). Wszystkie komunikaty idą bezpośrednio do tego mojego komponentu pomimo, że myszka znajdują się powiedzmy na belce tytułowej.
Wszystko wraca do normy po zmianie focusa na inną formę i powrocie do niej. Jednak jak znowu kilkukrotnie szybko nacisnę na przycisk, znowu jest ten błąd.

Spotkał się kiedyś ktoś z czymś takim i wie może jak sobie z tym błędem poradzić?

Jak kasuję obsługę komunikatu WM_LBUTTONUP jest ok. Ale jest mi on troszeczkę potrzebny :-)

Tutaj jest link do źródła już prawie gotowego komonentu. Kod nie jest długi (6KB).
http://www.gorion.boo.pl/temp/ImageButton.pas
A tutaj link do skompilowanej już aplikacji. (Kompilowane na Delphi 6 Personal)
http://www.gorion.boo.pl/temp/ImageButton.zip

Z góry dzięki za pomoc.

Gorion