ShowModal
EnableWindow(hMainWnd,FALSE);
но при этом оно не получало почему-то сообщения WM_PAINT при перемещении по экрану диалогового(единственное сообщение, обрабатываемое мною для него не для клавиатуры и мыши) - и поэтому на нем все время оставались следы от моего диалогового. Хотя при перекрытии другими приложениями, WM_PAINT приходило. Вроде в диалоговом я параметр WS_OVERLAPPED указал.
Цитата:
Originally posted by S_T
Кто-нибудь знает, как на WinAPI сделать окно модальным, относительно главного (то есть, например, как MessageBox, при открытии этого окна, главное окно приложения должно стать неактивным, и при этом пользователь не смог бы переключиться на него). Я пытался сделать главному окну при запуске моего диалогового модального:
EnableWindow(hMainWnd,FALSE);
но при этом оно не получало почему-то сообщения WM_PAINT при перемещении по экрану диалогового(единственное сообщение, обрабатываемое мною для него не для клавиатуры и мыши) - и поэтому на нем все время оставались следы от моего диалогового. Хотя при перекрытии другими приложениями, WM_PAINT приходило. Вроде в диалоговом я параметр WS_OVERLAPPED указал.
Кто-нибудь знает, как на WinAPI сделать окно модальным, относительно главного (то есть, например, как MessageBox, при открытии этого окна, главное окно приложения должно стать неактивным, и при этом пользователь не смог бы переключиться на него). Я пытался сделать главному окну при запуске моего диалогового модального:
EnableWindow(hMainWnd,FALSE);
но при этом оно не получало почему-то сообщения WM_PAINT при перемещении по экрану диалогового(единственное сообщение, обрабатываемое мною для него не для клавиатуры и мыши) - и поэтому на нем все время оставались следы от моего диалогового. Хотя при перекрытии другими приложениями, WM_PAINT приходило. Вроде в диалоговом я параметр WS_OVERLAPPED указал.
Использавать функцию DialogBox, DialogBoxParam, DialogBoxIndirect, DialogBoxIndirectParam
см пример в MSDN
ОКНО ДОЛЖНО БЫТЬ POPUP