Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi HotKey ---> HotProblem (https://www.delphipraxis.net/14305-hotkey-hotproblem.html)

Mr.Dollar2k3 6. Jan 2004 16:43


HotKey ---> HotProblem
 
sooo hab mal wieder im delphi hilfe na hotkey gesucht und gleich was gefunden nur es geht nicht wie ich es will :
ich will das wenn der benutzter Alt + S drückt das programm eine massege verschikt hier der code:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Standardkürzel "Strg + A"
  HotKey1.Modifiers := [hkCtrl];
  // Umschalt- und Alt-Taste nicht zulassen
  HotKey1.InvalidKeys := [hcShift, hcAlt];
........

end;

...

procedure TForm1.Senden1Click(Sender: TObject);
Var MSGClient: string;
begin
 // Menüeintrag "New" Tastenkürzel zuweisen
  Senden1.shortcut := HotKey1.HotKey;

 MSGClient:= Memo2.Text;
 Client.Socket.SendText('DU@Server >> '+ MSGClient);
 Memo2.Text:=('DU@Server >> '+ MSGClient);
end;

es passiert nix mit den key aber wenn ich auf sebnden kilick geht es also problem iss nur hotkey

MFG
Dollar2k3

Mr.Dollar2k3 7. Jan 2004 14:30

Re: HotKey ---> HotProblem
 
kann mir keiner helfen oder wie
iss nur ein kleiner problem !!!
weiss nicht ob das da falsch is oder nur ob ich das falsch benutzte ??ß

toms 7. Jan 2004 15:09

Re: HotKey ---> HotProblem
 
Hi,

Verstehe nicht ganz, warum du die HotKey Komponente verwendest.
Es geht doch auch so:

Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (ssCtrl in Shift) and (Key = $53) then // Ctrl + S
    Senden1.Click;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   KeyPreview := True;
end;

Mr.Dollar2k3 7. Jan 2004 17:33

Re: HotKey ---> HotProblem
 
hmmm das sieht sehr logischer aus und einfacher und es funktioniert !!!!

bin auf die idee gekommen als ich in help hotkey angeben hatte da stand soo ein beispiel dazu

...naja THX :-D

woher weisst du welche taste welche Wert hat ???


mfg
Dollar2k3

Matze 7. Jan 2004 18:46

Re: HotKey ---> HotProblem
 
Zitat:

Zitat von Mr.Dollar2k3
woher weisst du welche taste welche Wert hat ???

Ich hab das so rausgefunden:

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Label1.Caption := IntToStr(key);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  KeyPreView := true;
end;
Bloß kommt bei mir beim "S" 83 raus und nicht 53 :gruebel:

[Edit]OK, meins geht auch, man muss es halt so schreiben:
Delphi-Quellcode:
if (ssCtrl in Shift) and (Key = 83) then // Ctrl + S
    Senden1.Click;
also ohne das Dollar-zeichen (kA, wie das in Delphi heißt ;) )[/Edit]

scp 7. Jan 2004 20:12

Re: HotKey ---> HotProblem
 
Zitat:

Zitat von Matze
also ohne das Dollar-zeichen (kA, wie das in Delphi heißt ;) )

Das Dollarzeichen steht in Delphi für den Beginn einer hexadezimalen Zahl.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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 by Thomas Breitkreuz