Odbieranie messagów przez komponent

0

Jak zmusić descenata TComponent do odbiarania messagów windowsowych (a w szczególnośći WM_KEYDOWN)?

Czytałem coś o WndProc, ale jak tego uzyć to jeszcze nie widziałem

0

Może trzeba oprzeć komponent nie na TComponent, ale na TWinControl?

0

Musisz rejestrować klase okna i tworzyc obiekt (okno). Możesz skorzystać z TWinControl jak mowił thenkles.

0

Ciekawostka: TControl qma WM_KEYDOWN, a jest bezpośrednim descenatem TCOmponent, i tu właśnie chodzi o wndproc, tylko jak to zarejestrować/uzywać?

0

Zamień WndProic na swoją procke i analizuj.

0

I see you don't want to help me...

Mi po prostu chodzi o to jak zrobić aby system qmał że ma obsłużyć także moje WndProc. Pomożecie?

0

Czemu nie chcesz użyć TControl, by było prościej...

0

Bo to ma być komponent a nie kontrolka! poza tym TTimer jest komponentem, a potrafi odbierać komunikaty

0

Jak nie chce TControl to mu nie wpychajcie na siłę. Na TComponent też można. W konstruktorze tworzysz okno które jest po prostu niewidoczne (poczytaj o RegisterWindowClass, CreateWindow itp w Windows SDK). Do jego WndProc przypisujesz jakąś swoją procedurę i jest wszystko jak trzeba. Takie okno może przejąć zaznaczenie mimo że jest niewidoczne i wtedy odbierać komunikaty klawiatury, tak samo można jego uchwyt podać przy tworzeniu timera przez WAPI i komponent będzie odbierał komunikaty zegara systemowego.

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