gpt4 book ai didi

flutter - 是否有任何选项可以在全屏模式下运行 Flutter Windows 桌面应用程序

转载 作者:行者123 更新时间:2023-12-03 13:30:07 28 4
gpt4 key购买 nike

我试过 flutter Windows 桌面应用程序,但我无法隐藏标题栏以在全屏模式窗口中运行应用程序

最佳答案

遇到同样的问题,我在这里分享我的解决方案。
我不是 Win32 开发人员,但我设法通过这种方式制作了基本的全屏。
此代码适用于我的 Flutter 版本 1.21.0-10.0.pre.114,我希望它也适用于您。
我的解决方案深受这个启发:https://stackoverflow.com/a/2416613/14093885
您必须编辑 ./windows/runner/main.cpp
在第 30 行左右的这些语句之间插入以下代码:

window.SetQuitOnClose(true);

//Insert Code Here

run_loop.Run();
要插入的代码:
//HWND is window handler
HWND hwnd = window.GetHandle();

auto windowHDC = GetDC(hwnd);
int fullscreenWidth = GetDeviceCaps(windowHDC, DESKTOPHORZRES);
int fullscreenHeight = GetDeviceCaps(windowHDC, DESKTOPVERTRES);
int colourBits = GetDeviceCaps(windowHDC, BITSPIXEL);
int refreshRate = GetDeviceCaps(windowHDC, VREFRESH);

DEVMODE fullscreenSettings;
bool isChangeSuccessful;

EnumDisplaySettings(NULL, 0, &fullscreenSettings);
fullscreenSettings.dmPelsWidth = fullscreenWidth;
fullscreenSettings.dmPelsHeight = fullscreenHeight;
fullscreenSettings.dmBitsPerPel = colourBits;
fullscreenSettings.dmDisplayFrequency = refreshRate;
fullscreenSettings.dmFields = DM_PELSWIDTH |
DM_PELSHEIGHT |
DM_BITSPERPEL |
DM_DISPLAYFREQUENCY;

SetWindowLongPtr(hwnd, GWL_EXSTYLE, WS_EX_APPWINDOW | WS_EX_TOPMOST);
SetWindowLongPtr(hwnd, GWL_STYLE, WS_POPUP | WS_VISIBLE);
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, fullscreenWidth, fullscreenHeight, SWP_SHOWWINDOW);
isChangeSuccessful = ChangeDisplaySettings(&fullscreenSettings, CDS_FULLSCREEN) == DISP_CHANGE_SUCCESSFUL;
ShowWindow(hwnd, SW_MAXIMIZE);
编辑 - flutter 2:
根据@Pavel 最后一行 ShowWindow(hwnd, SW_MAXIMIZE);在 Flutter 2 中不需要。

关于flutter - 是否有任何选项可以在全屏模式下运行 Flutter Windows 桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57820261/

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