[英]How do I programmatically maximize a top-level window in a Win32 C++ program?
我試圖在我的 Win32 C++ 程序中以編程方式最大化我的頂級 window 。 我在處理WM_CREATE
消息的代碼中使用了類似於以下的代碼:
WINDOWPLACEMENT windowPlacement = {};
windowPlacement.length = sizeof(WINDOWPLACEMENT);
windowPlacement.rcNormalPosition = newWindowRect;
windowPlacement.showCmd = SW_NORMAL;
if (maximized == TRUE)
{
windowPlacement.showCmd = SW_SHOWMAXIMIZED;
}
SetWindowPlacement(hwnd, &windowPlacement);
當此代碼執行時,如果maximized
是TRUE
,則 window 設置為最大化 window 的大小,但最大化/恢復按鈕仍然是最大化按鈕,而不是恢復按鈕。
我嘗試使用ShowWindow()
function 得到相同的結果。
事實證明WM_CREATE
消息處理程序是執行此操作的錯誤位置。 在調用CreateWindow()
之后但在調用ShowWindow()
之前將代碼移出 window 過程並進入wWinMain()
function 后,它按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.