Вниз
Скачать: 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.025 c
3-1151948212
yon
2006-07-03 21:36
2006.09.10
450 полей в dbf


2-1155830851
GTAID
2006-08-17 20:07
2006.09.10
PChar:=String


2-1156160467
Паша777
2006-08-21 15:41
2006.09.10
TidHTTP в потоке


15-1155627234
Sergey_b
2006-08-15 11:33
2006.09.10
Вопрос


15-1156085949
vajo
2006-08-20 18:59
2006.09.10
Автовключение компьютера.




   Наверх