Uzyskanie Focusa w TCustomControl

0

Przy tworzeniu nowego komponentu na bazie TCustomControl potrzebuje aby "łapał" focus i potrzebuje obsłużyć zdarzenie zmiany focusa z true na false i odwrotnie szukałem w helpie coś o tym ale znalazłem tylko zdarzenie ActiveControlChanged dla formy, jednak nie moge tego podejść w żaden sposób.

Łue trzeba obsłużyć zdarzenie OnEnter i OnExit ...

Hmm ale nie działa do końca:
W nazwa.Enter komponentu mam Paint
W nazwa.Exit komponentu mam Paint
W nazwa.paint komponentu mam :

if  focused then
  canvas.Brush.Color :=clYellow
  else
  Canvas.Brush.Color := clWhite;

Canvas.Rectangle(0,0,ClientWidth,ClientHeight);

Jak Kliknę robi się yellow ale jak klikne na inny komponent tego samego typu to nie powraca do biołego koloru ...

0

mi działa:

procedure TForm1.Memo1Enter(Sender: TObject);
begin
if  Memo1.Focused then
    Memo1.Color :=clYellow
else
    Memo1.Color :=clWhite;
end;

procedure TForm1.Memo1Exit(Sender: TObject);
begin
if  Memo1.Focused then
    Memo1.Color :=clYellow
else
    Memo1.Color :=clWhite;
end;
0

to się robi obsługując komunikaty WM_SETFOCUS i WM_KILLFOCUS;

snw@ autorowi chodzi o własny komponent

0

Dzięki. Działa.

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