界面设置——结合vs2015,使用wxFormBuilder

一、新建一个对话框项目,如下图:

界面设置——结合vs2015,使用wxFormBuilder_第1张图片


二、在组建面板中,在forms中选择Dialog,取名为MainDialog

        1、从Layout布局中,选择一个布局

        2、在布局中放入几个按钮或容器

        3、最好经常保存下,这个编辑器有时候拖错了组建,会奔溃

        4、下面是我拖的一个简单的界面:

界面设置——结合vs2015,使用wxFormBuilder_第2张图片

三、生成c++界面文件类

        1、F5是预览,这个预览并不好用,有时候预览的是错的,但是马马虎虎能看。

        2、F8是生成C++界面的类文件,这个路径是你在新建项目的时候填的path属性。

        3、生成的类文件的名字,是你在新建项目时候填的file属性

        4、回到你的vs2015,添加这2个文件,一个是GUI.h,另一个是GUI.cpp

        5、这个类,你在vs2015中千万不要做任何修改,因为每次你在wxFormBuilder中修改后,都会还原。

四、继承界面类

        1、因为不能修改界面类,所以我们要从界面类继承一个自己的界面类,如下:

#pragma once  
#include "GUI.h"  
#include   
class MyFrame :public MainDialog
{
public:
	MyFrame(wxDialog * dlg);
	~MyFrame();
	void OnQt(wxCommandEvent& event);
	void OnClose(wxCloseEvent& event);
};
**********************
#include "MyFrame.h"

MyFrame::MyFrame(wxDialog * dlg) :MainDialog(dlg)
{
	SetIcon(wxIcon("MAINICON"));

}

MyFrame::~MyFrame()
{
}
void MyFrame::OnQt(wxCommandEvent& event) {
	wxMessageBox(wxT("弹窗"));
}

void MyFrame::OnClose(wxCloseEvent& event) {
	Destroy();
}

五、从wxApp继承一个应用,取名为MyApp

#pragma once  
#include   
class MyApp :public wxApp
{
public:
	virtual bool OnInit();
};
************************
#include "MyApp.h"  
#include "MyFrame.h"  


IMPLEMENT_APP(MyApp);
bool MyApp::OnInit() {
	MyFrame * dlg = new MyFrame(0L);
	dlg->Show(true);
	return true;
}

六、如果想对界面类文件做额外的修改,比如添加notebook中的panel之类的,可以在继承的MyFrame构造函数里写:

MyFrame::MyFrame(wxDialog * dlg) :MainDialog(dlg)
{
	SetIcon(wxIcon("MAINICON"));
	pan1 * p1 = new pan1(m_notebook1, wxID_ANY);
	pan2 * p2 = new pan2(m_notebook1, wxID_ANY);
	pan3 * p3 = new pan3(m_notebook1, wxID_ANY);
	m_notebook1->AddPage(p1, wxT("p1"), true, 0);
	m_notebook1->AddPage(p2, wxT("p2"), true, 1);
	m_notebook1->AddPage(p3, wxT("p3"), true, 2);
}







你可能感兴趣的:(wxWidgets)