| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Нестандартное добавление элемента? БАШНЯ ДЫМИТСЯ! |
| Автор: TimPP 22.5.2003, 17:44 |
| Здравствуй мудрейший ALL! Пишу ATL - DLL. Из основного окна приложения поймал CWnd диалогового окна, как мне добавить в него еще один элемент, к примеру свой Grid? Спасибо! |
| Автор: Step 22.5.2003, 17:49 |
| созадть его динамически, с парентом пойманого окна.... вопрос только в том как ты его обрабатывать будеш |
| Автор: TimPP 22.5.2003, 17:53 |
| Я его создал он работает, но не ловит ENTER и TAB, при этом переходит на другие элементы диалога. Но я его создавал просто как, наследника CWnd и говорил ему, что Parent`ом является найденный HWND. |
| Автор: Nastya 22.5.2003, 18:26 | ||||
На счет ENTER
На счет TAB, это надо в стилях покопаться.
Ты бы код привел |
| Автор: TimPP 23.5.2003, 09:46 | ||
На форме есть кнопка которая создавала мой элемент, я фокусируюсь на моей таблице, работаю с ней, но если нажимаю ENTER (на моей таблице), она создается еще раз
|
| Автор: Step 23.5.2003, 12:26 |
| по вододу интера и таб, я думаю сообщения просто не тому окну идут. поставь сеткаптуре |
| Автор: TimPP 23.5.2003, 14:21 |
| Не могу понять чем мне поможет SetCapture? Прикол еще заключается в том, что при обходе элементов диалога клавишами - стрелками, фокус попадает в табличку и в ней дальше ходит курсор. А когда TAB`ом обходишь, то он в нее даже не попадает? Но, хрен с ним с TAB`ом мне главное, что бы я ENTER у себя мог поймать. |
| Автор: Step 23.5.2003, 14:27 |
| TimPP все сообщения будут идти тебе вот и получиш свой ентер |
| Автор: TimPP 23.5.2003, 14:35 |
| Не работает! Тем более на сколько я знаю SetCapture перенаправляет только мышинные сообщения. |
| Автор: Step 23.5.2003, 14:36 |
| клавиатурные тоже |
| Автор: TimPP 23.5.2003, 15:23 |
| Еще забадяга, я настроил Hook на отлов всех идущих сообщений, ловлю нажатие любых клавиш и перенаправляю все себе, но все равно переход по TAB`у срабатывает? |
| Автор: Step 23.5.2003, 17:14 |
| ты должен заблокировать дольнейшую отправку, и хоок разный может быть, тебе надо ловить до передачи окнам, а не после.. там режими выставляються посмотри в хелпе |
| Автор: TimPP 27.5.2003, 16:18 |
| Хорошо, ни хрена не получается с этими хуками - шмуками, ну и Бог с ними. Меняем постановку вопроса. Если нужно динамически добавлять, убирать элементы уже существующего диалога ( на лету ). Как настроить нормальное получение сообщений в новых элементах? Спасибо. |
| Автор: DENNN 27.5.2003, 19:43 | ||
Проще всего воспользоваться стандартным WinAPI - элементы точно также шлют сообщения родителю, просто в MFC коде у тебя нет соответствующих макросов |
| Автор: TimPP 28.5.2003, 09:56 |
| Что бы остановить сообщение и направить ко мне в MFC используется функция PreTranslateMessage, а если я добавляю элемент просто API, то в эту функцию даже не попадаю! Как быть? |