Delphi-PRAXiS
Seite 2 von 2     12   

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 Abfangen von Funktionstasten (https://www.delphipraxis.net/13737-abfangen-von-funktionstasten.html)

Hansa 11. Jan 2004 19:18

Re: Abfangen von Funktionstasten
 
Hi,

doch, doch, das ist schon gelöst. Für diejenigen, die die etwas ähhm, verklausulierte Antwort :lol: von Leuselator nicht ganz verstehen sollten : Die Sondertasten müssen im OnKeyDown behandelt werden und die "normalen" zusätzlich im OnKeyPress. Ein Ereignis reicht nicht ! Z.B. so :

Delphi-Quellcode:
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var i      : integer;
    ValidKeys : set of byte;
begin
  ValidKeys := [VK_TAB,VK_BACK,VK_RETURN];  (* Backspace, Tab, Enter immer zulassen *)
  case StringGrid1.col of
    1 : ValidKeys := ValidKeys + [VK_F9,VK_F10];
    4 : ValidKeys := ValidKeys + [VK_F3];
  end;
  if key in ValidKeys then with StringGrid1,EingDM do begin
    case Key of

// je nach Sondertaste was machen

      VK_F9  : begin
               end;
      VK_F10 : ;
      VK_F3  : ;
      VK_TAB,
      VK_RETURN :;
    end;
  end
  else begin
    key := $0;
    SysUtils.Beep;
  end;
end;
nur Zahlen zulassen:

Delphi-Quellcode:
procedure TForm1.StringGrid1Key[b]Press[/b](Sender: TObject; var Key: Char);
var i      : integer;
    ValidKeys : set of char;
begin
  ValidKeys := ['0'..'9'];
  if not (key in ValidKeys) then begin
    key := #0;
    SysUtils.Beep;
  end;
end;

Leuselator 12. Jan 2004 05:52

Re: Abfangen von Funktionstasten
 
"V E R K L A U S U" Was?!

Frechheit!

Zur Strafe gibt es hier ein Programm, das alle Klarheiten beseitigen sollte.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.
Seite 2 von 2     12   

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