You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

wxWidgets中wxFrame创建后尺寸位置不符,Windows10下如何解决?

wxWidgets窗口尺寸与位置偏移问题(Windows10环境)

我正从MFC转用wxWidgets做技术验证,以下代码可在ucrt64环境编译,并在Windows10系统运行。预期主窗口尺寸为250×250px,位置为(100,100)px,但实际显示位置为(108,100),尺寸为234×242。该问题仅出现在Windows10系统,Windows7系统下一切正常,怀疑是新手操作失误,恳请指点。

代码示例

#include <wx/wxprec.h>
#ifndef WX_PRECOMP
    #include <wx/wx.h>
#endif

#include "ProjectBase.h"

class Application : public wxApp
{
public:
    virtual bool OnInit();
};

wxIMPLEMENT_APP(Application);

bool Application::OnInit()
{
    wxWindow *frame = new wxFrame(NULL, wxID_ANY, "Test", wxPoint(100, 100), wxSize(250, 250), wxDEFAULT_FRAME_STYLE | wxRESIZE_BORDER);
    frame->Show(true);
    return true;
}

窗口显示截图

窗口实际显示效果

已尝试的操作

  • 调用frame句柄的MoveWindow()方法无效
  • 调用frame->SetSize()方法无效
  • 使用第三方工具Sizer4可将窗口设置为预期尺寸
  • Windows10显示缩放比例已设为100%
  • 在资源文件中定义wxUSE_DPI_AWARE_MANIFEST 2无效(该机制在缩放显示器上有效,但位置与尺寸偏差仍存在)

内容的提问来源于stack exchange,提问作者Steffen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:59:51