Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

получение текстового представления из виртуального кода клавиши   Найти похожие ветки 

 
ter   (2007-09-03 10:15) [0]

вот неработающий код:

procedure Button1Click(Sender: TObject);
Var FModifiers: Byte;
 FHotKey: Byte;
 C: TListItem;
 Key: Longint;
begin
 C := hList.ItemFocused;
 if C = nil then Exit;
 FModifiers := 0;
 if cControl.Checked then
   FModifiers := FModifiers or MOD_CONTROL;
 if cShift.Checked then
   FModifiers := FModifiers or MOD_SHIFT;
 if cAlt.Checked then
   FModifiers := FModifiers or MOD_ALT;
 if cWin.Checked then
   FModifiers := FModifiers or MOD_WIN;
 FHotKey := HotKey1.HotKey;
 Key := MakeWord(FHotKey,FModifiers);
 C.SubItems[0] := KeyToText(Key);
 C.Data := Pointer(Key);
end;

function KeyToText(Key: Longint): String;
Var FModifiers: Byte;
 FHotKey,res: Byte;
 S,AA: String;
 A: array[0..31] of char;
 VirtCode,ScanCode: Integer;
begin
 FModifiers := LoWord(HiByte(Key));
 FHotKey := LoWord(LoByte(Key));
 S := "";
 if (FModifiers and MOD_CONTROL) = MOD_CONTROL then S := S + "Control+";
 if (FModifiers and MOD_SHIFT) = MOD_SHIFT then S := S + "Shift+";
 if (FModifiers and MOD_ALT) = MOD_ALT then S := S + "Alt+";
 if (FModifiers and MOD_WIN) = MOD_WIN then S := S + "Win+";
 ScanCode := MapVirtualKeyEx(FHotKey, 0);
 A := #0;
 res := GetKeyNameText(ScanCode,A, 32);
 Result := S + StrPas(A);
end;


 
ter   (2007-09-03 10:30) [1]

Все, вопрос снят, проблема решена:
 ScanCode := MapVirtualKey(FHotKey, 0) shl 16;


 
Leonid Troyanovsky ©   (2007-09-03 10:52) [2]


> ter   (03.09.07 10:15)  

>  FHotKey := HotKey1.HotKey;

ShortCutToText(FHotKey)

--
Regards, LVT.


 
ter   (2007-09-03 11:02) [3]

это ж где такая функция объявлена?


 
Leonid Troyanovsky ©   (2007-09-03 11:10) [4]


> ter   (03.09.07 11:02) [3]

> это ж где такая функция объявлена?

В хелпе ;)

--
Regards, LVT.


 
ter   (2007-09-03 11:12) [5]

нету в хелпе
delphi 2007


 
Leonid Troyanovsky ©   (2007-09-03 11:21) [6]


> ter   (03.09.07 11:12) [5]

> нету в хелпе

Menus.ShortCutToText

--
Regards, LVT.


 
ter   (2007-09-03 11:24) [7]

О!
спасибо!



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1208157981
Gore
2008-04-14 11:26
2008.05.11
Проблема c NULL полями


9-1169896894
maxProg
2007-01-27 14:21
2008.05.11
Direct3D9 - Buffer


4-1188376536
leonidus
2007-08-29 12:35
2008.05.11
Как определить типа сглаживания шрифтов в системе?


15-1206828712
Riply
2008-03-30 01:11
2008.05.11
Vista и ограничения


2-1207822060
Stepper
2008-04-10 14:07
2008.05.11
Как правельно складывать строки?