Thema: Delphi Hotkey

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 31. Okt 2002, 10:16
Moin Alexander,

ausprobiert hab' ich's nicht, aber diese Funktion müsste Dir weiterhelfen:

Code:
[b]procedure[/b] ConvertPascalShortCut([b]const[/b] p_scIN : TShortCut;[b]var[/b] p_dwModifiers : DWORD;[b]var[/b] p_dwVirtualKeyCode : DWORD);

[b]const[/b]
  _iModifier : [b]array[/b] [1..4] [b]of[/b] integer = (MOD_SHIFT,MOD_CONTROL,0,MOD_ALT);

[b]begin[/b]
  p_dwModifiers := p_scIN;
  [color=#000080]// Die für Modifier entscheidenden Stellen herausfiltern[/color]
  p_dwModifiers := p_dwModifiers [b]and[/b] $0000FF00;
  [color=#000080]// an die richtige Stelle schieben[/color]
  p_dwModifiers := p_dwModifiers [b]shr[/b] 14;
  [color=#000080]// und den richtigen Modifier aus der Tabelle holen[/color]
  p_dwModifiers := _iModifier[p_dwModifier];
  [color=#000080]// Virtual Key herausfiltern[/color]
  p_dwVirtualKeyCode := p_scIN [b]and[/b] $000000FF;
[b]end[/b];
Die Umwandlung des Modifiers kann man auch in einer Zeile unterbringen, ich hab's aber mal der Übersicht halber ein wenig weiter aufgedröselt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat