![]() |
OnKeyDown TShiftState und Key
Moin zusammen!
Habe gerade die schwarze 8-) Brille auf:
Delphi-Quellcode:
führt nicht zum Ziel
// Stg-S = speichern
if (ssShift in Shift) and ((Key = 115) or (Key = 83)) then begin // <--- das krieg ich nicht mit if savSQL.Execute then begin rieSQL.Lines.SaveToFile(savSQL.FileName); end; end;
Delphi-Quellcode:
geht leider genauso wenig
// Stg-S = speichern
if (ssShift in Shift) tehn begin if ((Key = 115) or (Key = 83)) then begin // < --- hier liegt mein Prob if savSQL.Execute then begin rieSQL.Lines.SaveToFile(savSQL.FileName); end; end; end; Mein Problem: ich bekomme die Abfrage vom Buchstaben 'S' nicht hin. Wenn ich das Tasstaturergebnis mit
Delphi-Quellcode:
auslese ist alles klar ...
stbMain.Panels[5].Text := ShortCutToText(ShortCut(Key, Shift));
Kann mir jemand helfen, das ich Strg-S korrekt ansteuere?? Vielen Dank Rolf |
AW: OnKeyDown TShiftState und Key
Delphi-Quellcode:
ssCtrl <-> ssShift :gruebel: :?:
if (ssCtrl in Shift) and (Key = 83) then
MessageDlg('didumm', mtInformation, [mbOK], 0); |
AW: OnKeyDown TShiftState und Key
@meylen
ok - die Brille war TIEF-SCHWARZ ... da kann ich lange auf CTRL drücken, wenn ich SHIFT abfrage! :oops: :oops: :oops: Vielen DANK! Rolf |
AW: OnKeyDown TShiftState und Key
und jetzt auch noch den Namen falsch geschrieben
SORRY Marcel |
AW: OnKeyDown TShiftState und Key
Kein Problem :wink:
2 Kleinigkeiten noch: 1. 115 ist VK_F4 und nicht das 'kleine s'. 2. Die 'saubere' Methode Buchstaben abzufragen wäre über ![]() So muss man auch nicht immer die ASCII-Codes überprüfen und verhindert Fehler wie in 1. :-D
Delphi-Quellcode:
if (ssCtrl in Shift) and (Key = VkKeyScan('s')) then
|
AW: OnKeyDown TShiftState und Key
bin nochmal wieder mit einer Frage zum OnKeyDown da:
Delphi-Quellcode:
Dieses OnKeyDown befindet sich in einem :!: FRAME!!
procedure TfraSQL.rieSQLKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin tag := 5; if Key = Vk_F5 then begin rieSQL.SelectAll; // <--- das geht! end; if (ssCtrl in Shift) and (Key = VkKeyScan('a')) then begin tag := 5; rieSQL.SelectAll; // <--- das geht NICHT ?!? end; end; Warum kann ich mit 'F5' alles wie gewünscht markieren, aber mit CTRL-a nicht??? Hat da jemand ne Idee? Tks Rolf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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