MFC窗口最大化,但顶部坐标错误

发布于 2024-10-19 08:33:00 字数 116 浏览 5 评论 0原文

有时,当我使用 ShowWindow(SW_SHOWMAXIMIZED) 时,我的 MFC 窗口最大化,但它没有像应该那样位于坐标 (0, 0) 处,而是向下移动大约 30-40 像素。关于可能出什么问题的任何提示吗?

Sometimes, when I use ShowWindow(SW_SHOWMAXIMIZED), my MFC window is maximized, but it is not positioned at coordinates (0, 0), as it should, it is moved down, for around 30-40 pixels. Any tip on what might be wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

痴情 2024-10-26 08:33:00

我找到了解决方案。在 PreCreateWindow(CREATESTRUCT& cs) 中,CREATESTRUCT 被修改,如下所示

cs.style = WS_OVERLAPPEDWINDOW | WS_MAXIMIZE;

显然,这导致了错误的 WINDOWPLACMENT 坐标。当更改为:

cs.style = WS_OVERLAPPEDWINDOW;

调用

ShowWindows(SW_MAXIMIZE)

一切工作正常。

I found the solution. In PreCreateWindow(CREATESTRUCT& cs), CREATESTRUCT was modified, like this

cs.style = WS_OVERLAPPEDWINDOW | WS_MAXIMIZE;

Apparently, this was causing wrong WINDOWPLACEMENT coordinates. When changed to:

cs.style = WS_OVERLAPPEDWINDOW;

with call to

ShowWindows(SW_MAXIMIZE)

Everything worked fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文