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

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

KeyPress [D7]


vat ©   (2009-03-19 08:56:00) 

Здрасте. Хочу написать процедуру используя KeyPress, но я знаю, что клавиша "Enter" обозначается через #13, а как другие не знаю. Скажите где посмотреть


Anatoly Podgoretsky   (2009-03-19 14:32:00) [1]

> немо2  (19.03.2009 9:18:01)  [1]

А нафига ему KeyDown с его кодам клавиш?


vat   (2009-03-19 09:26:00) [2]

спасибо


ЮЮ   (2009-03-19 09:24:00) [3]

Не все клавиши идут через KeyPress, некоторые через KeyUp/KeyDown

для вторых смотри модуль Windows, константы VK_xxx
а первые, практически то же, только символы, а не числаЖ

function TWinControl.DoKeyPress(var Message: TWMKey): Boolean;
var
 Form: TCustomForm;
 Ch: Char;
begin
 Result := True;
 Form := GetParentForm(Self);
 if (Form <> nil) and (Form <> Self) and Form.KeyPreview and
   TWinControl(Form).DoKeyPress(Message) then Exit;
 if not (csNoStdEvents in ControlStyle) then
   with Message do
   begin
      Ch := Char(CharCode);
     KeyPress(Ch);
     CharCode := Word(Ch);
     if Char(CharCode) = #0 then Exit;
   end;
 Result := False;
end;


немо2   (2009-03-19 09:18:00) [4]

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
showmessage(inttostr(Key));
end;


Наверх

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