• wxWidgets 窗口程序的标准main框架


    习惯了C/C++主入口main,在WX里没有它总是觉得好象少了点什么,这两天花了点时间弄了弄,原来是这样:

    main.cpp:

    #include <wx/wx.h>
    #include "client.h"
    
    int main(int argc,char* argv[])
    {
        MyApp* app=new MyApp();
        wxApp::SetInstance(app);
    
    
        return wxEntry(argc,argv);
    }
    

    client.h:

    #include <wx/wx.h>
    
    class MyFrame : public wxFrame
    {
    public:
        MyFrame() ;
    };
    
    class MyApp: public wxApp
    {
        wxFrame* m_frame;
    public:
    
        bool OnInit();
    };
    

    client.cpp:

    #include <wx/wx.h>
    #include "client.h"
    
    MyFrame:: MyFrame() 
       : wxFrame(NULL, wxID_ANY, wxT("Hello wxWidgets"), wxPoint(50,50), wxSize(800,600)) 
    {          
        wxPanel* mainPane = new wxPanel(this);          
        wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);         
         // add widgets here! 
        mainPane->SetSizer(sizer); 
    } 
    
    bool MyApp::OnInit() 
    {         
        m_frame = new MyFrame();         
        m_frame->Show();         
        return true;
    }
    
     

     现在果然清晰多了,哇哈哈~~

     Windows/*nix 下用GCC/MinGW 编译器时上面的int main(int argc,char* argv[])是能够完全正确编译,带SUBSYSTEM/Windows:5参数编译的可执行文件是不带命令行窗口(我是在WINDOW 7下用C::B+MINGW+WX2.9.2测试的)。但是如果用VC++编译器编译则有两种情况出现:

    1.带SUBSYSTEM/console 参数能正确编译,但窗口程序运行时有命令行窗口;

    2.带SUBSYSTEM/Windows:5 则不能编译,在这种情况下需要用到伟大的WinMain做为主程序入口点,同时wxEntry也要相应地改为适用WinMain参数的版本。下面是唯一需要改动的地方:

    #include <wx/wx.h>
    #include "client.h"
    
    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSCTR lpCmdLine,int nCmdShow) 
    {
        MyApp* app=new MyApp();
        wxApp::SetInstance(app);
    
    
        return wxEntry(hInstance,hPrevInstance,lpCmdLine,nCmdShow);
    }
    
    
  • 相关阅读:
    npm安装包时的几种模式
    git pull解决冲突
    mysql 连接数据库时时区报错
    idea设置自带的maven为国内镜像
    postgresql 判断字段的长度
    Git删除分支
    win10上安装mysql8(installer方式)并创建用户开启远程连接
    在spring boot中使用jasypt对配置文件中的敏感字符串加密
    spring boot中的底层配置文件application.yam(application.property)的装配原理初探
    CodeForces
  • 原文地址:https://www.cnblogs.com/godspeedsam/p/1915858.html
Copyright © 2020-2023  润新知