Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Вниз

Непонятки с обработчиком события OnKeyDown 


Loxly   (2002-02-14 20:24) [0]

Проблема с изменением значения параметра var Key:word
Уважаемые Мастера, помогите решить следующую проблему.
У компонента Memo:TMemo имеется обработчик события OnKeyDown. При вводе текста отлеживается нажатие клавиш Ctrl+пробел. Событие возникает когда нужно. Глюков нет.
Но при нажатии Ctrl+пробел в Memo печатается пробел, который мне не нужен.
Т.к. параметр Key объявлен как var, то я закономерно предположил, что присваивание Key:=0 подавит печать пробела. Однако пробел печатается все равно :((
Операция Key:=#0 отлично проходит в OnKeyPress, но в там я не могу узнать о нажатии клавиши Ctrl.
Если бы событие OnKeyDown происходило раньше, чем OnKeyPress, то можно было бы при нажатии Ctrl устанавливать флажок, а в OnKeyPress изменять Key, но OnKeyPress проиходит раньше. Манипуляции с параметром Key события OnKeyUp тоже ни к чему не приводят.
Пожалуйста, посоветуйте что-нибудь.



Набережных С.   (2002-02-14 20:42) [1]

procedure ....Memo1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key = " ")and(GetKeyState(VK_CONTROL)<0)then Key:=#0;
end;



Loxly   (2002-02-14 22:54) [2]

Спасибо! Все получилось :-)




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.014 c
3-9061            Wizd                  2002-02-06 14:23  2002.03.04  
Как удалить из DBF таблицы кучу ненужных полей? ...


1-9127            grab                  2002-02-16 21:21  2002.03.04  
заполнение ListBox


6-9246            Snake2000             2001-12-13 15:15  2002.03.04  
ТВебБраузер


3-9083            IronHawk              2002-02-06 18:44  2002.03.04  
Данные из QuickReport.Preview сохранять в *.dbf или *.db файл !!!


3-9059            Limaik                2002-02-06 04:40  2002.03.04  
Role Name и BDE