Форум: "Основная";
Поиск по всему сайту: 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.021 c
1-9191            besen-ok              2002-02-14 15:58  2002.03.04  
как двум созданным в рантайме компонентам присвоить один и тот-же обрабитчик событый ?


1-9236            Alex L.               2002-02-15 17:39  2002.03.04  
Объединение компонентов


7-9317            DenKop                2001-11-26 21:20  2002.03.04  
Рабочий стол.


4-9332            Пастор                2002-01-04 17:07  2002.03.04  
Как узнать запущенно ли интересующее меня приложение ?


6-9266            Artis                 2001-12-12 18:46  2002.03.04  
Возник такой вопрос - серверу посылается запрос на что он выдает информацию обратно как в цикле посылать запрос и переходить к следующему значению только после того как будет получен и обработан ответ???