![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
virtual key code
Breakmaster © (2005-02-22 21:57:00)Люди, подскажите, пожалуйста, виртуальный код клавиши, ставящей точку в русском языке.
Vovchik_A (2005-02-23 12:06:00) [1]2Breakmaster © (22.02.05 21:57)
Познавательно... Поймешь как работает.
...
const
ctrl_A = 1; { ASCII value for Ctrl+A }
ctrl_Z = 26; { ASCII value for Ctrl+Z }
FunctionKeys: array [vk_f1 .. vk_f12] of string[3] =
('F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8',
'F9', 'F10', 'F11', 'F12');
procedure TMainForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
s: string;
begin
{- Show integer Key value }
ValueLabel.Caption := IntToStr(Key);
{- Show Key shift state }
s := '';
if ssShift in Shift then s := s + 'Shift+';
if ssAlt in Shift then s := s + 'Alt+';
if ssCtrl in Shift then s := s + 'Ctrl+';
if Length(s) > 0 then
Delete(s, Length(s), 1); { Delete final '+' }
ShiftLabel.Caption := s;
{- Do function key labels }
if Key in [vk_f1 .. vk_f12] then
CharLabel.Caption := FunctionKeys[Key]
else
CharLabel.Caption := ''; { Erase old character label }
{- Disable Spacebar to prevent selecting Close button }
if Key = vk_space then
Key := 0;
end;
procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Ord(Key) in [ctrl_A .. ctrl_Z] then
CharLabel.Caption := '^' + Chr(Ord(Key) + Ord('A') - 1)
else
CharLabel.Caption := Key;
ValueLabel.Caption := IntToStr(Ord(Key));
end;
GanibalLector (2005-02-23 01:47:00) [2]Virtual Keys +F1
Anatoly Podgoretsky (2005-02-22 22:09:00) [3]ORD('.')