Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi wie erhält TButton den Focus (https://www.delphipraxis.net/104311-wie-erhaelt-tbutton-den-focus.html)

stahli 1. Dez 2007 11:48


wie erhält TButton den Focus
 
Wodurch erhält ein TButton bei einem MouseClick den Focus?
In TWinControl funktioniert das ja noch nicht...

Ich finde aber auch keine MouseDown-Behandlung, die SetFocus o.ä. enthält.

TabStop für die FocusZuweisung per Tab-Taste habe ich für meinen TWinControl-Nachfolger schon erfolgreich eingestzt :-)

stahli

DeddyH 1. Dez 2007 12:04

Re: wie erhält TButton den Focus
 
Aus der StdCtrls.pas:
Delphi-Quellcode:
procedure TButtonControl.WndProc(var Message: TMessage);
begin
  case Message.Msg of
    WM_LBUTTONDOWN, WM_LBUTTONDBLCLK:
      if not (csDesigning in ComponentState) and not Focused then
      begin
        FClicksDisabled := True;
        Windows.SetFocus(Handle); //hier
        FClicksDisabled := False;
        if not Focused then Exit;
      end;
    CN_COMMAND:
      if FClicksDisabled then Exit;
  end;
  inherited WndProc(Message);
end;

stahli 1. Dez 2007 12:07

Re: wie erhält TButton den Focus
 
Macht Sinn.
Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz