Вниз
Скачать: CL | DM;

Уважаемые мастера! Как по кнопке Esc закрыть окно формы??   Найти похожие ветки 

← →
youta   (2006-07-26 12:49) [0]

Уважаемые мастера! Как по кнопке Esc закрыть окно формы??


← →
tesseract ©   (2006-07-26 12:54) [1]

procedure TfmEditItem.btNewKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
if key=VK_ESCAPE then close;
end;


← →
youta   (2006-07-26 12:58) [2]

Вы неправильно поняли - как закрыть окно при нажатии клавиши Esc НА КЛАВИАТУРЕ??


← →
Desdechado ©   (2006-07-26 13:04) [3]

> НА КЛАВИАТУРЕ
А тебе что, про джойстик написали?
У формы ставишь keyPreview=True и обработчик из [1]


← →
youta   (2006-07-26 13:12) [4]

просто tesseract мне написал данный обработчик нажатия на кнопку btNew!!!! а дело все оказалось в keyPreview=True !!!!
Спасибо!!!!!


← →
tesseract ©   (2006-07-26 13:14) [5]


> youta   (26.07.06 13:12) [4]


Ну бывает :-)

не учёл что пример будет передран без изменений :-)


← →
Ketmar ©   (2006-07-26 13:39) [6]

в следующий раз трижды проверь. а то подсовываешь дезинформацию. народ копипастит -- а оно не работает! издевательство, адназначна.


← →
Loginov Dmitry ©   (2006-07-26 15:20) [7]

Еще вариант: использовать список действий TActionList. Создаешь в нем действие, холдишь нужную комбинацию клавиш и ставишь обработчик на OnExecute. Методологически этот вариант более правильный, чем KeyPreview, так как не допускает обработку нажатия горячих клавиш с другими компонентами, а KeyPreview - допускает. Причем некоторые компоненты (TDBGrid, например) обрабатывают сообщения о нажатии клавиш раньше, чем это делает форма при KeyPreview.


← →
Desdechado ©   (2006-07-26 15:32) [8]


> обработку нажатия горячих клавиш с другими компонентами,
> а KeyPreview - допускает
Это как настроишь обработку FormKeyDown

> Причем некоторые компоненты (TDBGrid, например) обрабатывают
> сообщения о нажатии клавиш раньше, чем это делает форма
> при KeyPreview.
DBGrid не ведет себя подобным образом. Какие еще компоненты под подозрением?


← →
Loginov Dmitry ©   (2006-07-26 19:06) [9]

> DBGrid не ведет себя подобным образом


Ведет.

Недавно хотел сделать фичу: чтобы для выделенной ячейки DBGrid при нажатии Space происходило выделение текста (InplaceEditor.SelectAll). Однако ввод символа пробела в ячейку происходит еще до возникновения OnKeyXXX формы.


← →
tesseract ©   (2006-07-26 21:59) [10]

> [9] Loginov Dmitry ©   (26.07.06 19:06)

Гм. бывает при редактировании в гриде, по моему придёться два раза ESC нажать.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.033 c
15-1155628249
Сувалки
2006-08-15 11:50
2006.09.10
Проблемы с Delphi!!!


1-1154356907
Anton22
2006-07-31 18:41
2006.09.10
Прозрачный фон Memo


9-1115392165
OSokin
2005-05-06 19:09
2006.09.10
А не устраивать ли нам небольшие конкурсы по кодингу? (ч.4)


2-1155813206
brother
2006-08-17 15:13
2006.09.10
событие в RunTime


15-1155485051
ArtemESC
2006-08-13 20:04
2006.09.10
Что далает программа Exe2Bin




   Наверх