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 TCustomGrid und TabStop (https://www.delphipraxis.net/16084-tcustomgrid-und-tabstop.html)

Quake 10. Feb 2004 07:08


TCustomGrid und TabStop
 
Hallo,

ich habe in einem Formular eine Class eingefügt die ich von TCustomGrid abgeleitet habe. Ich möchte nun aber das beim drücken der Tab-Taste das nächste Steuerelement in meinem Formular den Focus erhält. Da diese Taste aber eine andere Funktion in TcustomGrid hat funzt dat nich. :roll: Ich habe auch schon probiert in der Funktion KeyDown der Tab-Taste diese beizubringen - ist aber gescheitert.

Dazu habe ich schon dieses Probiert :

Code:
case Key of
  VK_TAB :
    begin
      selectnext(self,true,true);
      Key := 0;
    end;
end;
und das auch

Code:
case Key of
  VK_TAB :
    begin
      FindNextControl(self,true,true,true).SetFocus;
      Key := 0;
    end;
end;
Die TabStops sind bei allen Steuerelementen auf True.

ciao :zwinker:

Quake 12. Feb 2004 06:31

Re: TCustomGrid und TabStop
 
OK,

ich habe es jetzt selbst gefunden. Der Code meinen Komponente sieht jetzt, in gekürzter Form, so aus :

Code:
procedure TMyCustomGrid.KeyDown(var Key: Word; Shift: TShiftState);
  begin
    if Shift = [] then
    begin
      case Key of
        VK_TAB :
          begin
            SendMessage(parent.Handle, WM_NEXTDLGCTL, 0, 0);
            Key := 0;
          end;
      end;
    end;

    inherited KeyDown(Key, Shift);
  end;
Setzt man den 3. Parameter von SendMessage auf 1, erhält das vorherige Steuerelement im Formular den Focus.

ciao :hello:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr.

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