如何禁用 Wxwidgets 视觉样式(Wxwidgets 在 Windows 上看起来很旧)

问题描述 投票:0回答:1

当我使用 g++ 在 Windows 上编译 Wxwidgets 应用程序时,它的 GUI 看起来很旧。经过一番研究,我发现这就是所谓的视觉风格。我知道我可以使用 rc(清单文件)来禁用视觉样式。但我不知道该怎么做。在询问如何在 Chat-gpt 上修复该问题后,它指出我需要将这个“-DwxNO_WINDOWS_SETUP”添加到 g++ 中。没用。

任何人都可以向我展示如何在下面的代码中使用 rc(清单文件)禁用视觉样式。

再次询问如何禁用视觉主题后,听到 Chat-gpt 给我的代码。这也不起作用。

#include <wx/wx.h>
#include <wx/sysopt.h>

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

class MyFrame : public wxFrame
{
public:
    MyFrame(const wxString& title);
};

wxIMPLEMENT_APP(MyApp);

bool MyApp::OnInit()
{
    // Disable default theme for wxWidgets windows
    wxSystemOptions::SetOption("msw.disable.wxwindow.default.theme", 1);

    // Create the main application window
    MyFrame* frame = new MyFrame("Hello World");
    frame->Show(true);

    return true;
}

MyFrame::MyFrame(const wxString& title)
    : wxFrame(NULL, wxID_ANY, title)
{
    // Your frame setup code here
}

这是我用来编译 Wxwidgets 应用程序的命令行。

g++ include/src/*.cpp *.cpp -pipe -I C:\wxWidgets\include -I C:\wxWidgets\lib\gcc810_x64_dll\mswu -L C:\wxWidgets\lib\gcc810_x64_dll -mwindows -lwxbase32u -lwxmsw32u_core -g -o  build/debug/a.exe

g++ wxwidgets visual-styles
1个回答
0
投票

你需要使用正确的清单,如果你使用wx提供的资源文件,它会自动包含在内,所以你的问题可能是你不这样做。

请停止使用 ChatGPT 的废话(从这个词的直接意义上来说,你写的任何内容都没有任何意义)。

© www.soinside.com 2019 - 2024. All rights reserved.