Witam!
Mam problem z utworzeniem własnego komponentu.
Wzorując się na książce Adama Boducha... - ten sam problem. Ściągnąłem z tej strony komponent urlabel.zip - ten sam problem. Jaki?
Poprzez komunikaty przechwytuje kiedy użytkownik najedzie nad komponentem myszką i kiedy odjedzie. Czyli:
procedure CmMouseEnter(var Msg : TMessage); message CM_MOUSEENTER;
procedure CmMouseLeave(var Msg : TMessage); message CM_MOUSELEAVE;
i np. jak najedzie zmieniam kolor na niebieski, wcześniej zapamiętując JAKI kolor jest AKTUALNY w zmiennej. Później przywracam ten kolor. Efekt - już na etapie pisania programu gdy wstawiam komponent na formę i na niego najadę myszką, zmienia się na niebieski i już taki pozostaje!
Kiedy wstawie komponent NIE najeżdżając na niego myszką... napis jest czarny (domyślny). Uruchomię program... i działa super. Najeżdżam - robi się niebieski, uciekam - z powrotem czarny.
Ale na etapie pisania programu NIE działa. Robi się niebieski i już nie przywraca koloru domyślnego. Czyli na etapie DZIAŁANIA - jest ok, na etapie TWORZENIA (jakby pod kontrolą Delphi) coś się się sypie.
To wkurza, bo rozbudowując komponent dodałem by oprócz koloru dodawał podkreślenie itd. No i wstawiam komponent, niechcący najeżdżam i bach - od razu robi mi się niebieski i podkreślony. I wtedy uruchomie program... to nie regauje... bo JUŻ jest niebieski i podkreślony, czyli po najechaniu nic się nie dzieje, a po odjechaniu przywraca na te początkowe... czyli nibieski i podkreślony ;)
Działą ok, tylko jak na etapie pisania nie najadę. Bo wtedy po uruchomieniu programu jest "domyślny - czarny", najadę - niebieski podkreślony, odjadę - przywraca.. czyli domyślny czarny.
Mam nadzieję, że rozumiecie o co mi chodzi....
Co to może być? Coś Delphi mi się sypnęło?
Zaznaczam, że zainstalowałem sobie Delphi 2005. I mam teraz dwa. I Delphi 7 i 2005. I tak samo się dzieje i pod tym i pod tym.