Nowy komponent - dziwnie działa

0

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.

0

Jak na mój gust masz coś popieprzone w kodzie komponentu.
Upewnij się, że przy tworzeniu komponentu ustawiasz poprawnie domyślne wartości kolorów, stylu czcionki. Dla pewności przypisz je na chama dla stanu zwykłego.
Upewnij się, że dobrze zamieniasz kolor, styl czcionki przy komunikatach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1