|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.12.2009, 21:40 | #1 |
Регистрация: 29.12.2009
Сообщений: 8
|
WM_KYEDOWN у дочернего окна.
Подскажите почему не работает событие WM_KEYDOWN у дочернего окна, а срабатывает у родителя?
|
29.12.2009, 22:03 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
покажите код.
что за окно? что за дочернее окно? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.12.2009, 22:10 | #3 |
Регистрация: 29.12.2009
Сообщений: 8
|
Основное окно:
push null push [Inst] push null push null push [WindowHeight] ;Âûñîòà Bottom - Top push [WindowWidth] ;Øèðèíà Right - Left push [WindowTop] ;X Top push [WindowLeft] ;Y Left push WS_OVERLAPPEDWINDOW push MainCaption push ClassName push null call [CreateWindowEx] mov [MainWndHandle], eax Дочернее: push null push [Inst] push null push [MainWndHandle] push 800 ;Âûñîòà push 1000 ;Øèðèíà push 0 ;X push 200 ;Y push WS_CHILDWINDOW + WS_CAPTION + WS_TABSTOP ; push WS_OVERLAPPEDWINDOW push null push ClassName push null call [CreateWindowEx] У каждого свой класс. И своя процедура обработки событий. Вот процедура дочернего: .WndProc: ;[ebp + 8] - hwnd ;[ebp + 12] - uMsg ;[ebp + 16] - wParam ;[ebp + 20] - lParam push ebp mov ebp, esp cmp dword [ebp + 12], WM_CREATE jz .WMCreate cmp dword [ebp + 12], WM_KEYDOWN jz .WMKeyDown cmp dword [ebp + 12], WM_COMMAND jz .WMCommand .DefWindow: push dword [ebp + 20] push dword [ebp + 16] push dword [ebp + 12] push dword [ebp + 8] call [DefWindowProc] .EndWndProc: pop ebp ret 16 .WMCreate: jmp .EndWndProc .WMKeyDown: push MB_OK push null push null push null call [MessageBox] jmp .DefWindow .WMCommand: push MB_OK push null push null push null call [MessageBox] jmp .EndWndProc |
29.12.2009, 22:22 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
регистрации класов окна не вижу, и так же основного цикла сообщений тоже не заметил.
кстати оформляйте код с помощью кнопки Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.12.2009, 22:35 | #5 |
Регистрация: 29.12.2009
Сообщений: 8
|
Регистрация основного класса:
Код:
Обработчик событий основного класса: Код:
Код:
Код:
|
29.12.2009, 22:47 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
основного цикла сообщений я так и не увидел.
вообще причин много...второе окно отображается? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.12.2009, 22:51 | #7 |
Регистрация: 29.12.2009
Сообщений: 8
|
Код:
|
29.12.2009, 22:59 | #8 |
Регистрация: 29.12.2009
Сообщений: 8
|
Вот какой важный фактор забыл указать.
Если в дочернем окне ситль поменять на "WS_OVERLAPPEDWINDOW". То все начинает работать так как нужно. |
31.12.2009, 10:39 | #9 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 236
|
Попробуй через WM_COMMAND
|
02.01.2010, 18:09 | #10 |
Регистрация: 29.12.2009
Сообщений: 8
|
Событие WM_COMMAND вообще не срабатывает.
Может в таком режиме (WS_CHILDWINDOW) вообще не работает WM_KEYDOWN. У кого нить получилось перехватить его? |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
API определение дочернего окна | senia | Win Api | 6 | 25.12.2009 01:23 |
Изменение данных дочернего окна | damned20 | Win Api | 1 | 11.08.2009 13:04 |
Выделение дочернего окна и пункта меню | joker | Win Api | 7 | 04.02.2009 18:16 |
Получение хэндла дочернего контрола | Lich | Win Api | 7 | 01.07.2008 10:58 |
Разбиение дочернего окна на колонки... | HunterMan | Win Api | 3 | 03.04.2008 23:19 |