![]() |
Delphi-Version: 10.4 Sydney
Unit für Virtual Key Codes?
Ich muss immer wieder Virtual Key Codes selbst deklarieren, z.B.:
Delphi-Quellcode:
Hat denn die Delphi Runtime Library keine Unit, in der ALLE Virtual Key Codes (zumindest die Buchstaben-Tasten) deklariert sind?
VK_P = 80;
|
AW: Unit für Virtual Key Codes?
Schonmal auf die Idee gekommen, sie selbst zu schreiben und dann bei Bedarf ins Uses aufnehmen?
Delphi-Quellcode:
Bei meinem ollen Delphi 7 sind die gesuchten VKs alle in der Unit Windows zu finden, mit Ausnahme der Ziffern und Buchstaben. Im Kommentar steht in der Unit dann direkt dabei, warum sie nicht in der Unit definiert sind ;-)
program PascalScriptUnitVK;
var i : Integer; sl : TStringList; begin sl := TStringList.Create; sl.Add('unit VK;'); sl.Add('interface'); sl.Add('const'); for i := Ord('0') to Ord('9') do sl.Add(Format(' VK_%s = %d;',[Chr(i),i])); for i := Ord('A') to Ord('Z') do sl.Add(Format(' VK_%s = %d;',[Chr(i),i])); for i := Ord('a') to Ord('z') do sl.Add(Format(' VK_%s = %d;',[Chr(i),i])); sl.Add('end.'); sl.SaveToFile('VK.pas'); sl.Free; end. |
AW: Unit für Virtual Key Codes?
Zitat:
Die Frage war ja: Gibt es (k)eine Standard-Unit für Virtual Key Codes? Und nicht: Wie kann ich eine Unit für Virtual Key Codes erzeugen? Trotzdem Danke. Guten Rutsch!:) |
AW: Unit für Virtual Key Codes?
|
AW: Unit für Virtual Key Codes?
Zitat:
C:\Program Files (x86)\Embarcadero\Studio\21.0\source\rtl\common\Sy stem.UITypes.pas die ScanCode-Konstanten-Namen nicht standardmäßig definiert:
Delphi-Quellcode:
Standard wäre ja: VK_XX
vkP = $50; { 80 }
|
AW: Unit für Virtual Key Codes?
hallo,
das scheint auch erst seit XE4 so zu sein. Gruß |
AW: Unit für Virtual Key Codes?
Zitat:
Schönen Sonntag! |
AW: Unit für Virtual Key Codes?
Weil diese Konstanten nur ein Import sind und schon beim Hersteller Microsoft wurden die "Buchstaben" auch nicht definiert, sondern nur als Kommentar erwähnt, dass man sie über einen Cast einfach bekommt, z.B.
Delphi-Quellcode:
.
Ord('P')
Delphi-Quellcode:
VK_DELETE = vkDelete; {46}
VK_HELP = vkHelp; {47} { VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) } { VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) } VK_LWIN = vkLWin; {91} VK_RWIN = vkRWin; {92} Seit wann es diese kurzen Delphi-vkXyz gegenüber den Windows VK_XYZ gibt, kann ich grad nicht sagen, aber ich vermute das ist gekommen, seitdem/nachdem Delphi nicht mehr nur für Windows kompilieren kann, wo die Windows.pas dann natürlich nicht verwendet werden kann/darf. |
AW: Unit für Virtual Key Codes?
Denke, ich werde mich umgewöhnen und die System.UITypes verwenden.
Gutes neues Jahr an alle! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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