Re[2]: Виснет Tab Control
От: _Mouse_  
Дата: 30.05.06 12:09
Оценка:
Здравствуйте, Александер Малафеев, Вы писали:

АМ>Здравствуйте, _Mouse_, Вы писали:


_M_>>Зраствуйте, помогите решить след. проблему:


_M_>>Создаю Tab Control и цепляю к ниму диалоги.

_M_>>В итоге, при нажатии в любое место диалога у меня виснет программа.

_M_>>Spy++ показывает что на Tab Control гуляет с дикой скоростью одно и тоже сообщение:

_M_>><47196> 00170860 S WM_GETDLGCODE
_M_>><47197> 00170860 R WM_GETDLGCODE fuDlgCode:DLGC WANTARROWS | DLGC WANTCHARS

АМ>Скорее всего ты в обработчике сообщения вызываешь метод который шлет это же сообщение — получаешь бесконечный цикл.

АМ>Выход:
АМ>1. Использовать другое сообщение.
АМ>2. Поставить флаг который запретит обработку этого сообщения если ты и так его обрабатываешь.

Та в том то и дело, что я ничего не цспел еще вызвать. Кода толком нету.
Есть пустое главное окно, в котором я поместил TabControl.

А делаю так:
Создаю главное окно.
Далее я определяю hwnd TAB конткрола путем:
hwndTab = GetDlgItem(hwnd, IDC_TABCONTROL);
Далее я создаю 1 закладку с 2-мя кнопками:
CreateDialog(p_hInstance, MAKEINTRESOURCE(DLG_TAB_MAIN), hwndTab, (DLGPROC) Tab_MainProc);
И запускаю программу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.