problem z Onclick przycisku na pulpicie

0

Witam. Mam problem i przeszukalem juz forum ale nie znalazlem odpowiedzi.... tzn byly ale nie dzialaly. Umieszczam sobie dwa przyciski na pulpicie na dwa sposoby. pierwszy tworze dynamicznie po czym wykonuje:
przycisk.parentwindow(getdesktopwindow);
Przypisuje mu w zdarzeniu onclick funkcje ktora jest zdefiniowana w public formy.

Drugi siedzi sobie na formie i ma przypisane zdarzenie onclick, ktore zmienia jego nazwe. Kiedy jest na formie to dziala dobrze. Przy tworzeniu formy zmieniam jego parenta na pulpit za pomoca :
windows.setparent(button1.handle, getdesktopwindow);

Oba znajduja sie na pulpicie i oba nie uruchamiaja zdarzenia onclick. Kiedy sie na nie klika to sie wciskaja ale nie jest zglaszane zdarzenie. Za to jesli programowo wykonam procedure TButton.Click to wykonuje sie wszystko dobrze. Jak to poprawic aby zdarzenia byly poprawnie przechwytywane ??

0

Może spróbuj przypisać wlasciwość onclick:=procedra(s:sender); po zmianie parenta a nie przed. Nie wime czy to zadziala ale tak mi przyszlo do glowy :)

0

Hmm.... dzis znalazlem wskazowke na ktoryms z forum... nie pamietam ktorym. Po stworzeniu przycisku wystarczy dodac nastepujaca linie:

przycisk.ControlStyle := przycisk.ControlStyle + [csClickEvents];

sprawi ze przycisk ktory jest gdzie indziej niz na formie ( moze byc tez na innym komponencie) bedzie reagowal wlasnie na klikanie mysza. Sprawdzalem i dziala.

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