0
我在Windows操作系統上創建窗口時遇到了一個非常奇怪的錯誤。
我正在用下面的代碼部分創建窗口。 這個窗口是另一個應用程序的插件,所以我在其他應用程序提供的窗口內創建一個窗口作爲子窗口。自己添加WS_MINIMIZE標誌
newWindow = ::CreateWindow("SomeName",
"",
WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_CHILD | WS_VISIBLE,
in_create_options._location.m_x,
in_create_options._location.m_y,
in_create_options._size.m_x,
in_create_options._size.m_y,
(HWND)in_create_options._parent,
0,
0,
newView);
但是,當窗口被激活時,它也有WS_MINIMIZE標誌,因此激活最小化。問題是,它只發生在RELEASE模式下,所以我無法調試它。
我想問的是 - 有人知道可能會導致這種情況嗎?
另外,有沒有什麼辦法可以在激活之前檢查並更新Windows標誌?
P.S.我試過這個代碼:
WINDOWINFO currentWindowInfo;
::GetWindowInfo(((WCPluginViewWin *)in_view)->m_nativeView, ¤tWindowInfo);
if (currentWindowInfo.dwStyle & WS_MINIMIZE)
{
currentWindowInfo.dwStyle &= ~WS_MINIMIZE;
::AdjustWindowRect(¤tWindowInfo.rcClient,
}
::ShowWindowAsync(((WCPluginViewWin *)in_view)->m_nativeView, SW_SHOW);
但它仍然不起作用。窗口仍然以WS_MINIMIZE標誌打開。 有沒有其他的東西AdjustWindowRect?
其實它是「,」。謝謝。但它不是在原始代碼中缺失:) –
你如何運行你的發佈應用程序?也許你是從一個已經開始在其屬性中設置最小化的快捷方式運行它? –
當然,你發佈了正確的? 「WS_CHILD」窗口當然不能最小化,那將如何工作?它只能存在於另一個窗口內。 – Damon