Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Коды клавиш [D7, WinXP]


Viktop ©   (2005-01-27 12:56:00) 

Подскажите пожалуйста, где можно взять коды клавиш (#13 - Enter, #8 - BackSpace и т.д.). Конкретно интересует Delete, Del и сочетания клавиш (Ctrl+C, Ctrl+V, Ctrl+X)


palva   (2005-01-27 15:58:00) [1]

В Windows это тоже работает. Установите следующий обработчик OnKeyPress

procedure TForm1.KeyPress(Sender: TObject; var Key: Char);
begin
ShowMessageFmt('%d', [Ord(Key)]);
end;

и нажимайте всякие Ctrl-C Ctrl-V


palva   (2005-01-27 15:49:00) [2]

Ctrl-A имеет код 1, Ctrl-B имеет код 2 и т. д. Правда некоторые коды могут перехватываться операционной системой и интерпретироваться по-своему.

{$APPTYPE CONSOLE}
uses Windows, Dialogs;
var
 s: String;
 i: Integer;
begin
s := '123';
readln(s); // Если введем здеь Ctrl-A Ctrl-B Ctrl-X Enter
for i:=1 to 3 do writeln(Ord(s[i]));
// то программа выдаст 1 2 24
end.

А если ввести Ctrl-C, то это вызовет завершение программы.


ssk   (2005-01-27 13:10:00) [3]

>сочетания клавиш (Ctrl+C, Ctrl+V, Ctrl+X)

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if (ssCtrl in Shift) and (Key = Ord('C')) then
   Form1.Caption := 'CTRL+C'
end;


TUser   (2005-01-27 13:04:00) [4]

vk_delete типа Word. Обрабатывается не в OnKeyPress, а в OnKeyDown/Up. На сочетания клавишь поставь Action (см. TActionManager).


Smithson   (2005-01-27 13:03:00) [5]

Сочетания клавиш кодов не имеют.
Раз уж ты программируешь в Windows, то и пользуйся его услугами.
При нажатии на клавишу Windows присылает тебе сообщение, из которого видно - что нажали, какие служебные клавиши были нажаты в этот же момент.


Наверх

Титульная страница Поиск, карта сайта Написать письмо