Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Диалоговые окна на чистом API   Найти похожие ветки 

 
onyx ©   (2005-01-18 21:30) [0]

Почему когда создаешь диалог с помощью ф-ции CreateDialog фокус ввода не переходит от контрола к контролу по клавише Tab. Хотя в случае с ф-цией DialogBox все нормально. Вопрос: как реализовать смену фокуса по клавише Tab в диалоге созданном с помощью ф-ции CreateDialog?


 
onyx ©   (2005-01-18 22:33) [1]

Вопрос уже решился.

Неправильный вариант:

 hwnd= CreateDialog(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), NULL, (DLGPROC)DlgMainProc);
 while ( GetMessage(&msg, NULL, 0, 0) )
 {
   TranslateMessage(&msg);
   DispatchMessage(&msg);    
 }
 

Правильный вариант:

 hwnd= CreateDialog(hInstance, MAKEINTRESOURCE(IDD_MAINDLG), NULL, (DLGPROC)DlgMainProc);
 while ( GetMessage(&msg, NULL, 0, 0) )
 {    
   if (!IsDialogMessage(hwnd, &msg))
   {
     TranslateMessage(&msg);
     DispatchMessage(&msg);
   }
 }


Т.к. у меня диалогом явл. основное окно программы, то я думал что IsDialogMessage в этом случае не нужна - оказывается нужна.

И еще если кто знает форумы по C, C++ скиньте ссылку.


 
VMcL ©   (2005-01-19 08:19) [2]

http://rsdn.ru/



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.061 c
14-1108152620
Virusa
2005-02-11 23:10
2005.03.06
KAV 5.xx


4-1106142658
Cosinus
2005-01-19 16:50
2005.03.06
Почему, если я сам посылаю системе WM_KEYDOWN и WM_KEYUP, то мой


14-1108709083
lehich
2005-02-18 09:44
2005.03.06
WordApplication.ActiveDocument.PrintOut


14-1108450283
Doxygen
2005-02-15 09:51
2005.03.06
Возможно ли сделать так?


3-1107540593
Oleg_
2005-02-04 21:09
2005.03.06
Русская буква ч в заголовке