Mar*_*rek 2 c++ winapi visual-studio windows-7
我正在维护运行控制台的旧 C++ 应用程序。我已禁用“关闭”按钮。我也需要禁用最大化按钮。以下代码禁用关闭按钮
DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND);
DrawMenuBar(GetConsoleWindow());
Run Code Online (Sandbox Code Playgroud)
我添加了一行来禁用最大化按钮:
DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_CLOSE, MF_BYCOMMAND);
DeleteMenu(GetSystemMenu(GetConsoleWindow(), FALSE), SC_MAXIMIZE, MF_BYCOMMAND);
DrawMenuBar(GetConsoleWindow());
Run Code Online (Sandbox Code Playgroud)
它有效,按钮被禁用但它没有变灰。(关闭按钮变灰)我错过了什么?谢谢你。
使用SetWindowLong改变窗口样式,然后调用SetWindowPos。例子:
HWND hwnd = GetConsoleWindow();
DWORD style = GetWindowLong(hwnd, GWL_STYLE);
style &= ~WS_MAXIMIZEBOX;
SetWindowLong(hwnd, GWL_STYLE, style);
SetWindowPos(hwnd, NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE|SWP_FRAMECHANGED);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1803 次 |
| 最近记录: |