Создаю из основного окна с помощью CreateDialog() второе не модальное окно. Окно вижу, больше ничего делать не могу, не сдвинуть его, не кнопку нажать. В чем дело?
тут и читал, собственно этот кусок и юзаю, только диалог естественно сам слепил. Окно выводится, но ни на что не реагирует. PHP: #include "test.h" //глобальные переменные HINSTANCE hInst; HWND hConfDlg = NULL; //точка входа int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION)); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = NULL; wcex.lpszClassName = WND_CLASS; wcex.hIconSm = NULL; if(!RegisterClassEx(&wcex)) return 1; hInst = hInstance; HWND hWnd = CreateWindow(WND_CLASS, WND_CLASS, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hInstance, NULL); if(!hWnd) return 1; ShowWindow(hWnd, SW_SHOW); UpdateWindow(hWnd); while(GetMessage(&msg, NULL, 0, 0) != 0) { if(!IsWindow(hConfDlg) || !IsDialogMessage(hConfDlg, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return (int)msg.wParam; } //процедура основного окна LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: //Здесь ставлю отлов на Alt + Shift + P и хочу показать окно про отлове RegisterHotKey(hWnd, HOTKEY_ID, MOD_ALT | MOD_SHIFT, 'P'); break; case WM_HOTKEY: if(wParam == HOTKEY_ID) { //Наш ход //выводим окно if(!IsWindow(hConfDlg)) { hConfDlg = CreateDialog(hInst, MAKEINTRESOURCE(DLG_CONF), hWnd, (DLGPROC)ConfigProc); ShowWindow(hConfDlg, SW_SHOW); } } break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } //Процедура диалога BOOL CALLBACK ConfigProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: return TRUE; case IDCANCEL: DestroyWindow(hwndDlg); hConfDlg = NULL; return TRUE; } } return FALSE; } Что не так?