问题描述
- win32全屏覆盖任务栏无效
-
void EnterFullScreen(WindowInfo* win, bool presentation)
{
HWND hwnd = FindWindow(NULL, L"DetailShow");
HWND hwnd1 = ::GetParent(win->hwndFrame);
if (!hwnd)
return;if (!HasPermission(Perm_FullscreenAccess) || gPluginMode) return; if ((presentation ? win->presentation : win->isFullScreen) || !IsWindowVisible(hwnd)) return; AssertCrash(presentation ? !win->isFullScreen : !win->presentation); if (presentation) { AssertCrash(win->ctrl); if (!win->IsDocLoaded()) return; if (IsZoomed(hwnd)) win->windowStateBeforePresentation = WIN_STATE_MAXIMIZED; else win->windowStateBeforePresentation = WIN_STATE_NORMAL; win->presentation = PM_ENABLED; SetTimer(win->hwndCanvas, HIDE_CURSOR_TIMER_ID, HIDE_CURSOR_DELAY_IN_MS, nullptr); } else { win->isFullScreen = true; } // ToC and Favorites sidebars are hidden when entering presentation mode // TODO: make showFavorites a per-window pref bool showFavoritesTmp = gGlobalPrefs->showFavorites; if (presentation && (win->tocVisible || gGlobalPrefs->showFavorites)) { SetSidebarVisibility(win, false, false); } long ws = GetWindowLong(hwnd, GWL_STYLE); if (!presentation || !win->isFullScreen) win->nonFullScreenWindowStyle = ws; // remove window styles that add to non-client area ws &= ~(WS_CAPTION | WS_THICKFRAME); ws |= WS_MAXIMIZE; win->nonFullScreenFrameRect = WindowRect(hwnd); RectI rect = GetFullscreenRect(hwnd); SetMenu(hwnd, nullptr); ShowWindow(win->hwndReBar, SW_HIDE); ShowWindow(win->hwndTabBar, SW_HIDE); ShowWindow(win->hwndCaption, SW_HIDE); SetWindowLong(hwnd, GWL_STYLE, ws); SetWindowPos(hwnd, nullptr, rect.x, rect.y, rect.dx, rect.dy, SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOZORDER); ShowWindow(hwnd, SW_SHOWMAXIMIZED); if (presentation) win->ctrl->SetPresentationMode(true); // Make sure that no toolbar/sidebar keeps the focus SetFocus(hwnd); // restore gGlobalPrefs->showFavorites changed by SetSidebarVisibility() gGlobalPrefs->showFavorites = showFavoritesTmp;
}
解决方案
MFC对话框窗口全屏 并覆盖任务栏
win32窗口全屏
win32全屏的方法
解决方案二:
用setwindowpos swp_topmost将你的窗口置顶看看
时间: 2024-08-01 09:33:07