주 창 외에도 다른 최상위 창을 만들려고합니다. 문제는 두 번째 창의 hMenu
매개 변수를 NULL이 아닌 값으로 설정하면 표시되지 않는다는 것입니다. 예를 들어NULL이 아닌 hMenu 매개 변수로 창 만들기가 실패합니다.
:이 창 (HMENU == 0)를 나타
이
case IDC_BUTTON_SEND_COMMAND:
{
CreateWindowExW(NULL,
L"CommandWindow", L"Send Command",
WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
100, 100, 600, 400,
NULL,
(HMENU)0,
(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
break;
}
이 창은 표시되지 않습니다 (HMENU == 4)
case IDC_BUTTON_SEND_COMMAND:
{
CreateWindowExW(NULL,
L"CommandWindow", L"Send Command",
WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
100, 100, 600, 400,
NULL,
(HMENU)4,
(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
break;
}
난
'GetWindowLong'은 64 비트 OS와 호환되지 않습니다. 대신에 32 비트 및 64 비트 코드 모두에 사용할 수있는 ['GetWindowLongPtr'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633585.aspx)를 사용하십시오. – IInspectable