[英]Winapi - changing window style ,some macros cause window to not display at all
我正在使用 winapi 編寫一個簡單的桌面應用程序,當我使用宏在 WNDCLASSEXW 對象或 CreateWindowExW 函數中輸入窗口樣式時,其中一些會導致我的窗口根本不顯示。 這是我用於我的對象和函數代碼的代碼。 數字 0 有效,但那些無效,例如: WS_CAPTION WS_SYSMENU WS_MINIMIZEBOX WS_MAXIMIZEBOX
什么是修復,以便我可以禁用調整大小?
wcex.style
是我輸入的地方。
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEXW wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = WS_OVERLAPPED;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WINDOWSPROJECT1));
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_WINDOWSPROJECT1);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassExW(&wcex);
}
和功能代碼:
HWND g_Htext = CreateWindowExW(
0, // Optional window styles.
L"STATIC", // Window class
L"Learn to Program Windows", // Window text
SS_LEFT, // Window style
// Size and position
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, // Parent window
NULL, // Menu
hInstance, // Instance handle
NULL // Additional application data
);
是否要禁用調整大小? 如果是這樣,我建議您可以嘗試在調用 CreateWindow 函數時從窗口樣式中刪除WS_THICKFRAME
樣式。
這是我的代碼:
WS_OVERLAPPEDWINDOW^ WS_THICKFRAME
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.