7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
1 | |
Не ловит сообщения27.03.2018, 14:36. Показов 2035. Ответов 18
Метки нет Все метки)
(
Здравствуйте. Подскажите пожалуйста. У меня есть проект mfc. Если я создаю элемент управления (например дерево CTreectrl), с помощью Мастера, то сообщения (например ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &CShowProject::OnTcnSelchangeTab1) отлавливается нормально, а если создаю с помощью Create то не одно сообщение не ловится! Как мне решить эту проблему?
0
|
|
27.03.2018, 14:36 | |
Ответы с готовыми решениями:
18
Iphone 6 не ловит Wi-Fi в другой комнате, а другой Iphone 5 ловит Телефон не ловит 3G Не ловит exception |
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
|
27.03.2018, 17:36 | 2 |
Можно динамически создавать элементы и ловить их сообщения. Если не работает, то что-то не то делаете. Например, стили нужные не проставили, родителя не того задали, ID элемента не верно указали, не те сообщения ловите.
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
||||||
28.03.2018, 19:05 [ТС] | 3 | |||||
0
|
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
|
28.03.2018, 19:43 | 4 |
Попробуйте перенести создание своего дерева из OnCreate в OnInitDialog.
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
30.03.2018, 10:07 [ТС] | 5 |
Не помогло. Не кто не сталкивался с такой проблемой?
0
|
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
|
30.03.2018, 12:10 | 6 |
Прежде чем написать, я проверил. Сделал тестовый проект с диалогом, добавил одно дерево стандартно, второе дерево динамически. Добавил событие аналогичное вашему для стандартного элемента через проперти. Изменил в messagemap ID стандартного контрола на ID динамического. Всё работало и сообщения для динамического контрола ловились при вышеуказанных условиях.
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
30.03.2018, 12:37 [ТС] | 7 |
А через Spy++ сообщения приходят?
0
|
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
|
30.03.2018, 12:52 | 8 |
Смотреть сообщения через Spy для проверки как-то даже в голову не пришло, гораздо быстрее и проще было просто поставить брекпоинт внутри функции.
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
30.03.2018, 13:20 [ТС] | 9 |
На брекпоинт он не входит. И в Spy++ сообщения не доходят
0
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|
31.03.2018, 17:50 | 10 |
unicode- и non-unicode версии проекта могут работать по-разному.
Судя по этим строкам, Sierra26 не использует unicode. Ygg, у тебя есть unicode ? Сейчас я попробовал на vs2008 и windows7. Если mfc проект с использованием unicode - все нормально. Если не использует unicode - не удается поймать уведомления TVN_SELCHANGED от дерева.
0
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|
31.03.2018, 18:08 | 11 |
Sierra26, как ты определил, что в Spy++ не приходит? Сообщение здесь WM_NOTIFY. Параметр lParam это указатель на структуру, которая содержит код уведомления.
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
31.03.2018, 21:01 [ТС] | 12 |
Не знал. Так не кто не знает как решить проблему. Использую не unicode.
0
|
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
|
01.04.2018, 11:19 | 13 |
Проект на VS-2005. Всё работает без юникода, как и в более поздних версиях VS.
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
02.04.2018, 10:09 [ТС] | 14 |
Ygg ваш проект работает и у меня. Буду разбираться. Спасибо
0
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
03.04.2018, 11:46 [ТС] | 15 |
К сожаления не смог разобраться. Может у вас получится сделать что-то с моим проектом. Буду очень благодарен
0
|
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
||||||
03.04.2018, 12:12 | 16 | |||||
Идентификаторы контролов передаются WORD-ом, соответственно ограничены значением 0xFFFF (65535)
1
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
03.04.2018, 12:34 [ТС] | 17 |
Это не решило проблему. Но узнал что-то новое. Спасибо
0
|
2290 / 789 / 299
Регистрация: 10.02.2018
Сообщений: 1,849
|
|
03.04.2018, 12:55 | 18 |
![]() Решение
Вот как же так получается? У меня решило, у вас не решило. Заменил ID и сообщения стали ловиться.
![]()
1
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
03.04.2018, 14:37 [ТС] | 19 |
Извиняюсь. Моя не внимательность. Все получилась проблема была в ID_MYTREE 66666. Спасибо огромное
1
|
03.04.2018, 14:37 | |
Помогаю со студенческими работами здесь
19
не ловит Яндекс Процессор ловит КЗ Почему то не ловит 3G Компьютер ловит фриз Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |