wxWidgets->使用wxFormBuild+CodeBlocks编写wxWidgets工程

     wxFormBuild主要用于界面和事件接口程序生成,还需要在CodeBlocks中添加事件反应程序和App用户应用程序.

1. 使用CodeBlocks新建wxWidgets工程

        可以使用CodeBlocks自带的wxWidgets工程向导或者是我们自定义的wxempty工程向导,新建工程,保存在D:\test\Cpp\wxtst\wxtst.cbp

从工程中移除所有的文件,使工程为一个不含任何文件的空工程.

2. 使用wxFormBuild新建wxFormBuild工程

        在wxFormBuild中,在右侧Object Properties中设置工程参数,这里设置如下

        path>.      

            (这里设置wxFormBuild生成文件的目录与wxFormBuild工程的相对路径,

             若保存wxFormBuild工程目录为D:\test\Cpp\wxtst\,则生成程序文件所在目录也为D:\test\Cpp\wxtst\

             若这里设置为.\wxFormBuildFiles,则生成程序文件所在目录也为D:\test\Cpp\wxtst\wxFormBuildFiles\)

        file>HelloWorldGui

        relative_path>checked

        code_generaltion C++>checked

        然后保存工程在D:\test\Cpp\wxtst\wxtst.fbp

3. 使用wxFormBuild添加控件,设置控件属性,添加控件事件

        在wxFormBuild中,按之前编写的HelloWorld工程及后边的事件方法,依次添加控件,

        -点击添加Forms分类中的第1个Frame,添加MyFrame1

        -在MyFrame1中,点击添加Layout分类中的第1个wxBoxSizer,添加bSizer1

        -在bSizer1中点击添加Containers分类中的第1个wxPanel,添加m_panel1

        -在m_panel1中点击添加Layout分类中的第1个wxBoxSizer,添加bSizer2

        -在bSizer2中点击添加Common分类中的wxButton,添加m_button1

        并分别修改MyFrame1的属性title为HelloWorld,修改m_button1的label属性为Quit,

        为m_button1的Events属性分类里的OnButtonClick添加OnQuit

        然后保存工程,点击Generate Code,生成代码HelloWorldGui.cpp,HelloWorldGui.h

4. 使用wxFormBuild 生成事件响应类

        在wxFormBuild中,点击菜单Tools>Generate Inherited Class,选中刚才生成的MyFrame1类,修改Class和File Name为,MyProject1MyFrame1,点击ok,生成MyProject1MyFrame1.cpp,MyProject1MyFrame1.h

5. 在CodeBlocks中添加wxFormBuild生成的文件,添加事件反应代码

        在CodeBlocks中添加HelloWorldGui.cpp,HelloWorldGui.h,MyProject1MyFrame1.cpp,MyProject1MyFrame1.h到工程中,修改MyProject1MyFrame1.cpp中的事件反应代码,(还需要添加你新增代码用到的头文件)

#include "MyProject1MyFrame1.h"
#include <wx/app.h>


MyProject1MyFrame1::MyProject1MyFrame1( wxWindow* parent )
:
MyFrame1( parent )
{

}

void MyProject1MyFrame1::OnQuit( wxCommandEvent& event )
{
// TODO: Implement OnQuit
    wxTheApp->Exit();
}

 

6. 在CodeBlocks中添加App应用程序代码及文件

        为CodeBlocks工程添加,MyApp.h和MyApp.cpp,编译运行即可.

        MyApp.h如下,需要添加#include<wx/wx.h>

#ifndef MYAPP_H_INCLUDED
#define MYAPP_H_INCLUDED

#include<wx/wx.h>

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

DECLARE_APP(MyApp)


#endif // MYAPP_H_INCLUDED

        MyApp.cpp如下,需要添加App头文件和事件类的头文件,#include "MyApp.h",#include "MyProject1MyFrame1.h"

#include "MyApp.h"
#include "MyProject1MyFrame1.h"


IMPLEMENT_APP(MyApp)

MyApp::MyApp()
{
}

MyApp::~MyApp()
{
}

bool MyApp::OnInit()
{
    MyProject1MyFrame1* myframe = new MyProject1MyFrame1((wxWindow*)NULL);
    myframe->Show();

    return true;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值