如何使用wxFormBuilder 3.0创建你的Form

来自wxFormBuilder维基

教程:使用wxFormBuilder

如何使用wxFormBuilder 3.0创建你的Form
改编自Juan Antonio Ortega 和 José Antonio Hurtado的1.0 版本

原文见 wxFormBuilder维基
http://wiki.wxformbuilder.org/Tutorials/UsingWxFormBuilder
  1. 打开wxFormBuilder,按如何使用wxFormBuilder <wbr>3.0创建你的Form开始一个空项目您也可以执行File|New来创建新项目
    如何使用wxFormBuilder <wbr>3.0创建你的Form

  2. Object Properties(对象属性)面板配置项目的设置
    1. 选择产生什么类型的代码。 现在你可以生成C++和/或XRC代码。
    2. 设置生成文件的文件名(只有名称,没有扩展名)。
    3. 为您的项目输入一个名称。
    4. 设置代码生成路径相对路径“.” 将导致代码生成和项目文件相同的目录中。
    5. 如果你想所有的文件引用您的项目(例如图像)产生一个相对路径,选中relative_path 选项 。
    6. 保存项目。 

       如何使用wxFormBuilder <wbr>3.0创建你的Form
  3. 转到组件面板,然后按一下Forms标签。 然后,创建一个对话框,按一下第三个图标。

    如何使用wxFormBuilder <wbr>3.0创建你的Form

    现在在对话框中显示的对象树。

    如何使用wxFormBuilder <wbr>3.0创建你的Form 
  4. 现在您可以在对话框中的Object Properties(对象属性)面板配置属性 例如,改变对话框名称为TutorialDialogGui 。 这个名字也将要产生的C++类的名称。

    如何使用wxFormBuilder <wbr>3.0创建你的Form
  5. 在此之后,您准备填入您的对话框的控制和sizers 。 wxFormBuilder只支持基础布局的Sizer,所以你将不得不增加一个Sizer能够插入控制。 转到组件面板,并点击Layout(布局)标签。 然后,点击第一个图标创建一个方块Sizer。

    如何使用wxFormBuilder <wbr>3.0创建你的Form 
  6. 添加一些控制到Sizer,例如,两个按钮。Common(通用)标签,并按下第一个图标( 如何使用wxFormBuilder <wbr>3.0创建你的Form )两次。

    如何使用wxFormBuilder <wbr>3.0创建你的Form  
  7. Object Properties(对象属性)面板的label property 中更改图标的标签 例如,将第一个按钮的标签的属性设为&Show a message,第二个为&Close

    同样,分别设置第一个和第二个按钮的id 属性为ID_SHOWMESSAGEwxID_OK

    如何使用wxFormBuilder <wbr>3.0创建你的Form 
    第一个按钮的属性设置
  8. 现在,现在是时候增加事件处理程序的按钮。在Object Properties(对象属性)面板中切换到Events标签 设定第一个按钮的OnButtonClick的值为OnShowMessage第二个按钮的值设置为OnClose

    如何使用wxFormBuilder <wbr>3.0创建你的Form
    第一个按钮的Events
  9. 现在,你可以生成代码了!按F8 或 如何使用wxFormBuilder <wbr>3.0创建你的Form 如果一切正确的话,在状态栏中你会看到一条消息表示代码已成功产生。 您可以在C++标签中查看输出的代码。

    如何使用wxFormBuilder <wbr>3.0创建你的Form  
  10. 现在是把生成的代码集成到您的IDE(Visual C++, Dev-C++, Code::Blocks...)中的时候了。加所产生的文件(tutorial_gui.h/CPP)到你的Project(项目)中。
  11. 每次从wxFormBuilder生成的代码时,你的文件将被最后一次产生的代码所覆盖,所以你不能直接增加你的事件处理程序到该文件中。因此,Tools | Generate Inherited Class(或F6)启动Generate Inherited Class(生成继承类向导)的办法在 wxFormBuilder中生成子类。 

    如何使用wxFormBuilder <wbr>3.0创建你的Form
    继承类生成对话框
  12. 选择Form的名称TutorialDialogGui ,你可以修改所产生的类的名称。

    如何使用wxFormBuilder <wbr>3.0创建你的Form
    选定Form的名称
  13. 修改类的名称为TutorialDialog,文件名为tutorial,请确保选中该框,然后单击“OK”(确定)

    如何使用wxFormBuilder <wbr>3.0创建你的Form
    名称变了,Form也选中了。
  14. 点击“确定”的对话框中,如果一切顺利的话您会看到一个“类生成的”消息在状态栏中。你可以在的保存项目文件目录下找到生成的代码文件tutorial.cpptutorial.h

    头文件如下: 
    #ifndef __tutorial__
    #define __tutorial__
    
    #include "tutorial_gui.h"
    
    class TutorialDialog : public TutorialDialogGui
    {
    public:
    TutorialDialog( wxWindow* parent );
    };
    
    #endif // __tutorial__
    这是例程的源文件:
    #include "tutorial.h"
    TutorialDialog::TutorialDialog( wxWindow* parent ) : TutorialDialogGui( parent ) {
    }
    
    
    
  15. 现在,您需要添加的执行你的事件处理程序的到生成TutorialDialog 事件表是产生tutorial_gui文件中,因此您只需要添加函数到TutorialDialog类。 这里有两个文件的事件处理程序需要添加。

    在头文件看起来就像这样:
    #ifndef __tutorial__
    #define __tutorial__

    #include "tutorial_gui.h"

    class TutorialDialog : public TutorialDialogGui
    {
    public:
       TutorialDialog( wxWindow* parent );

    protected:
        // Event handlers
        void OnShowMessage( wxCommandEvent& event );
        void OnClose( wxCommandEvent& event );
    };

    #endif // __tutorial__

    这是例子的源文件:
    #include "tutorial.h"
    #include <wx/msgdlg.h>
    #include <wx/app.h>
    
    TutorialDialog::TutorialDialog( wxWindow* parent )
    :
    TutorialDialogGui( parent )
    {
    
    }
    
    void TutorialDialog::OnShowMessage( wxCommandEvent& event ) {
    wxMessageBox( wxT("wxFormBuilder Tutorial") );
    }
    
    void TutorialDialog::OnClose( wxCommandEvent& event )
    {
    wxTheApp->Exit();
    }
  16. 你现在缺少主应用的源文件。 新增两个新的文件到您的项目,并在OnInit()  函数中创建对象的类TutorialDialog 的wxApp派生类。

    在头文件看起来可能会像这样:

    #ifndef __WXWIDGETSAPP_H
    #define __WXWIDGETSAPP_H
    
    #include <wx/wx.h>
    
    class wxWidgetsApp : public wxApp
    {
    public:
    wxWidgetsApp();
    virtual ~wxWidgetsApp();
    virtual bool OnInit();
    };
    
    DECLARE_APP(wxWidgetsApp)
    
    #endif
    源文件看起来可能会像这样:
    #include "wxWidgetsApp.h"
    #include "tutorial.h"
    
    IMPLEMENT_APP(wxWidgetsApp)
    
    wxWidgetsApp::wxWidgetsApp()
    {
    }
    
    wxWidgetsApp::~wxWidgetsApp()
    {
    }
    
    bool wxWidgetsApp::OnInit()
    {
    TutorialDialog* dialog = new TutorialDialog( (wxWindow*)NULL );
    dialog ->Show();
    SetTopWindow( dialog );
    return true;
    }
    

您可以从右边的连接下载本教程的所有文件: 附件:tutorial.zip

现在编译和运行您的项目!成功了!

本页最后修改日期为2008年12月22日,16:23:53
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值