在窗口创建后删除窗口样式

时间:2013-02-22 08:40:48

标签: c++ winapi styles window

我创建了一个包含以下代码的窗口:

hWnd = CreateWindowEx(WS_EX_TOPMOST | WS_EX_WINDOWEDGE, szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL);

窗口在创建时具有WS_EX_TOPMOST样式,但如果单击按钮,我想删除此样式。我看到了reference for SetWindowLong(),但我不知道在这种情况下如何使用它。

1 个答案:

答案 0 :(得分:4)

对于WS_EX_TOPMOST样式状态,

The documentation

  

要添加或删除此样式,请使用SetWindowPos功能。

所以,显然你不能用SetWindowLong来清除这种风格。

尝试:

SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
相关问题