|
|
|
Поскажите по кодам клавиш.....
|
|||
|---|---|---|---|
|
#18+
В С++В. Есть главная форма "fsMDIForm" и другие окна "fsMDIChild". В одном из дочерних окон установил параметр окна "KeyPreview=true" и на событии "FormKeyDown" поставил код if(Key == VK_DELETE) { N11Click(Sender); } В этой форме работает. Но я хочу и на главной форме установить несколько клавиш горячих. Установил тоже на св-ве окна "KeyPreview=true" и повесил события: if(Key == VK_Insert) { N12Click(Sender); } и НЕ работает. Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2003, 15:01 |
|
||
|
Поскажите по кодам клавиш.....
|
|||
|---|---|---|---|
|
#18+
Вот так у мэни. if(Key == VK_INSERT) { N11Click(Sender); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2003, 15:57 |
|
||
|
Поскажите по кодам клавиш.....
|
|||
|---|---|---|---|
|
#18+
Почти все кнопки без буквов перехватываются тока в onkeyDown, (как правильно заметил JibSkeart). По поводу KeyPreview. Разве главная форма должна перехватывать кнопки, нажатые в Childе? Я почиму-то очень сомневаюсь, что это так. Хотя и не уверен, но по-моему это не логично. Как вариант предлагаю использовать TAction . Для экшена можно задать кнопку (или сочетание) прямо в его свойствах, потом проинклудить файл с ним во все файлы проекта, и Action будет срабатывать вообще из любой формы приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2003, 16:25 |
|
||
|
Поскажите по кодам клавиш.....
|
|||
|---|---|---|---|
|
#18+
автор JibSkeart И тоже на событие onkeyDown ?? У меня в этом событии и стоит код: //--------------------------------------------------------------------------- void __fastcall TFMain::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if(Key == VK_INSERT) { N11Click(Sender); } } //--------------------------------------------------------------------------- авторDarkCat По поводу KeyPreview. Разве главная форма должна перехватывать кнопки, нажатые в Childе? А я и не делаю так. У меня не работает в главной форме ( дочерние окна ВСЕ закрыты) авторКак вариант предлагаю использовать TAction. Просто хотел обойтись без "лишних" (других) компонентов) Я вот тут попробывал этот код в других окнах, и тоже не работает видимо не правильно указал саму клавишу "INSERT". Я хочу по нажатии этой клавиши в главной форме чтоб отурылась другая форма для вставки новой записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2003, 17:29 |
|
||
|
Поскажите по кодам клавиш.....
|
|||
|---|---|---|---|
|
#18+
значит хорош извращаться со всякими VK_ВСЯКИЕ_МАКРОСЫ Сделай вот так: Код: plaintext 1. 2. 3. И вообще, проще (ИМХО) написать один раз: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2003, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32359842&tid=2035612]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 341ms |

| 0 / 0 |
