wxFormBuilder 이용

< 다운로드 >

WxWidget용 리소스 에디터는 몇가지가 있다.

무료 리소스 에디터
http://wxformbuilder.org/?page_id=38
http://wxdsgn.sourceforge.net/index.php

상용 리소스 에디터( 언리얼3 에디터에서 사용 )
http://www.dialogblocks.com/download.htm

우리는 wxFormBuilder를 이용할 것이다. 기존의 wxformbuilder.org에서 다운로드가 안되기 때문에 소스포지에서 다운로드 받을 수 있다.

wxFormBuilder 다운로드: http://sourceforge.net/projects/wxformbuilder/

 

< wxFormBuilder 사용 >

저장후 "Generate Code" 하면 편집한 리소스가 C++ 코드로 저장된다.
저장된 C++ 코드는 wxFormBuilder에서 편집하면 바뀔수 있기 때문에 상속하여 사용한다.

Frame을 MainFrame으로 지정하고 파일 이름은 UIApp.h, UIApp.cpp로 "Generate Code"한다.

< 코드 분석 >

MS의 디버깅 체크 코드를 삽입하기 위해서 MainApp 생성자를 추가 하였다.

main.h

//main.h

#ifndef _MAIN_H

 

#include <wx/wx.h>

 

class MainApp : public wxApp

{

public:

    MainApp();

    virtual bool OnInit();

};

 

DECLARE_APP(MainApp)

 

#endif

main.cpp

디버그 체크 코드를 추가하기 위한 DbgCheck.h 헤더 파일과 생성된 리소스 헤더 파일 UIApp.h 헤더파일을 포함 시킨다.  

생성자에서 디버그 체크 코드 시작을 위해 StartDebug()를 시작한다.

생성된 MainFrame을 이용해 화면에 띄운다.

//main.cpp

#include "main.h"

#include "resource/UIApp.h"

#include "DbgCheck.h"

 

IMPLEMENT_APP(MainApp)

 

//생성자는 디버그 체크를 위해서 추가 하였다.

MainApp::MainApp()

{

    StartDebug();

}

 

bool MainApp::OnInit()

{

    if ( !wxApp::OnInit() )

        return false;

 

    MainFrame* frame = new MainFrame((wxFrame *)NULL, wxID_ANY, wxT("Hello World!!"),

                                wxDefaultPosition, wxSize(500, 500), wxDEFAULT_FRAME_STYLE);

    frame->Show(true);

    SetTopWindow(frame);

 

    return true;

}