Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: 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 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
2-1156081436
ronyn
2006-08-20 17:43
2006.09.10
Filter


15-1155811350
Layner
2006-08-17 14:42
2006.09.10
Сок, который в коробках продается по 0,2/0,5/1...


3-1151578931
Ak_vovan
2006-06-29 15:02
2006.09.10
Как очистить таблицу


2-1156263776
GunGarry
2006-08-22 20:22
2006.09.10
Заблокировать файл папку


15-1155826819
ArtemESC
2006-08-17 19:00
2006.09.10
Забыл...