gpt4 book ai didi

windows - 如何创建一个无标题边框的窗口?当窗口最大化时它不应该覆盖任务栏

转载 作者:可可西里 更新时间:2023-11-01 09:20:26 24 4
gpt4 key购买 nike

我想使用 win32 创建一个没有标题栏的窗口。边框应调整窗口大小。但是当我最大化窗口时,它也覆盖了任务栏,我不想覆盖任务栏。我怎样才能做到这一点?

谢谢。

最佳答案

认为如果窗口处于最大化状态,它不会覆盖标准任务栏 - 但是,您可以在不最大化窗口的情况下强制其全屏显示。演示:

// Force window to cover the taskbar...
case WM_SIZE:
if( wParam == SIZE_MAXIMIZED )
{
ShowWindow( hWnd, SW_RESTORE ); // not MAXIMIZED any more

// show on top at 1920x1080 size
SetWindowPos( hWnd, HWND_TOPMOST,0,0,1920,1080,SWP_SHOWWINDOW );
}
break;

请注意,这确实存在与 TOPMOST 窗口相关的所有问题!

或者……如果您有一个没有菜单栏的窗口,它在最大化时覆盖了任务栏,并且您希望任务栏仍然可见,然后将窗口的大小调整为屏幕工作区:

HMONITOR hmon= MonitorFromWindow(hDlg, MONITOR_DEFAULTTONEAREST );
MONITORINFO moninfo;
moninfo.cbSize= sizeof(moninfo);
GetMonitorInfo(hmon, &moninfo);

SetWindowPos(hWnd,0, moninfo.rcWork.left, moninfo.rcWork.top,
moninfo.rcWork.right,moninfo.rcWork.bottom, SWP_NOZORDER );

注意:您不想将这样的窗口设置为最大化,只需使用上面的方法将其调整为全屏减去任务栏(如果窗口没有标题栏/系统菜单则用户无法移动,所以它就像被最大化一样工作)。

关于windows - 如何创建一个无标题边框的窗口?当窗口最大化时它不应该覆盖任务栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21749708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com