Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Диалог не реагирует на кнопку Tab |
Автор: GP1000 28.3.2009, 12:07 | ||
но начинает реагировать как только отключаю shellapi.h Для проверки - не использую ничего из этой библиотеки ,просто подключаю #include<shellapi.h> и диалог перестает реагировать на Tab . Может там какие макросы определены ,мешающие нормальной работе ? Диалог создаю так : DialogBox(hInstance,MAKEINTRESOURCE(ID_DIALOG),g_hMainWnd,DlgProc);) Порядок обхода и свойства Tab стоп на элементах проставлены . Процедура диалога :
|
Автор: GremlinProg 28.3.2009, 13:35 |
GP1000, если вопрос решен, то в чем была причина? |
Автор: GP1000 28.3.2009, 21:07 |
проблема решена подключением shellapi в stdafx.h сразу после windows.h |
Автор: xvr 30.3.2009, 13:44 |
Это не решение ![]() |
Автор: Dem_max 30.3.2009, 13:51 | ||
xvr,
При создании далогового окна с помощью DialogBox() вызов DefDlgProc не нужен |
Автор: GremlinProg 30.3.2009, 16:14 |
честно говоря, ни какого решения проблемы в GUI, путем подключения/переподключения API-хидеров просто не бывает, xvr, скорее всего на это и хотел обратить внимание, но видимо просто незаметил объявление диалоговой функции окна ), бывает а на счет Tab, как я понимаю, тут скорее вcего был упущен вызов функции трансляции диалога IsDialogMessage в главном цикле обработки сообщений хотя как этого можно добиться в DialogBox, не знаю, у него же свой цикл, по моему такого эффекта реально можно достичь только в ручном режиме, т.е. как раз на CreateDialog + `main message loop` |
Автор: GP1000 31.3.2009, 10:42 |
извините ,ошибся . Все проще ..но я увидел это только потом. Я создавал немодальный диалог с помощью CreateDialog() но думал что создаю модальный диалог . и естественно он не реагировал на кнопку Tab . Чтобы решить проблему я начал вставлять DialogBox() в различные части кода (а он достаточно большой), что то отключать и подключать. Ну и после каких то манипуляций добрался до shellapi.h. Не знаю как сделал это вывод по поводу работоспособности при отключении shellapi.h ,но сделал . Всем спасибо за внимание. Тему можно закрыть . или удалить вообще ![]() |