Se concentrează pe componente

Se concentrează pe o componentă.

Am scris o componentă descendentă a TCustomControl. Efectuarea procesării evenimentului OnEnter pentru a face față achiziției de focalizare. Când tabăra este trecută, componenta primește focalizare, dar când mouse-ul este apăsat, cum obțin componenta pentru a primi focalizarea de intrare atunci când se dă clic pe alte componente sau are nevoie să proceseze OnMouseDown?


> Sau este necesar să procesăm OnMouseDown?

și așa poate

Și cum se face în componente standard?
Este util să te uiți la sursele ListBox, dar nu găsesc ceva de genul în care este implementat.


> Mishenka # xA0; (10/25/06 10:22 AM) # xA0;
> Am scris o componentă descendentă a TCustomControl. A procesat procesarea
> Evenimente OnEnter pentru procesarea achiziției de focalizare.

Două propoziții sunt interconectate. Evenimentul OnEnter nu este pentru dezvoltatorul componentei, ci pentru dezvoltatorul care utilizează componenta.

> Mishenka # xA0; (25.10.06 10:51) [2]
> Și cum se face în componente standard?

TWinControl.DoEnter
Este în 2 secunde.


> Două propoziții sunt legate între ele. Evenimentul OnEnter nu este pentru
> dezvoltatorul componentei și pentru dezvoltator care utilizează componenta.

Ei bine, eu doar cu succes am pus-o. Aici am folosit metoda DoEnter.

> Mishenka # xA0; (10/25/06 10:22 AM) # xA0;

> Cum se face componenta să primească focalizarea de intrare atunci când face clic pe mouse

În măsura în care îmi amintesc, trebuie să înlocuiți constructorul și să setați parametrul ControlStyle care permite controlul pentru a primi mesajele mouse-ului. Specificați prin referință.

Și am lucrat și în acest fel:

public
# xA0; procedura MouseMove (Shift: TShiftState; X, Y: Integer); suprascrie;

procedura TMyControl.MouseMove (Shift: TShiftState; X, Y: Integer);
începe
# xA0;.
# xA0; MouseMove moștenit (Shift, x, y);
se încheie;

și anume Mesajele mouse-ului vin și pleacă

Articole similare