Visual Studio에서 wxWidgets을 적용하기 위해서 설정.

 

 wxWidget에서 Visual Studio를 적용하기 위해선 제대로 지원을 해주지 않기 때문에 빈 프로젝트를 만들어 줘야한다.

 

이렇게 빈 프로젝트를 생성해준다.

 

그 다음은 'Visual Studio와 wxWidgets 연동하기.'여기에 설명되어 있는 방식으로 wxWidgets을 설정 해줘야한다.

 

여기서 외부 종속성에서 wxWidgets에 관련된 경로가 찾아지는데 시간이 걸린다.

 

간단하게 윈도우를 출력하는걸 표현하기 위해서 wxMain.h을 만들고, 다음과 같이 작성해보자.

#pragma once
#include "wx/wx.h"

enum
{
    ID_QUIT,
};

enum {
    MY_EVENT_ID = 10001,
};

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

class MyFrame : public wxFrame
{
public:
    MyFrame(const wxString& title);

    void OnQuit(wxCommandEvent& event);
private:
};

 

 간단한 wxMain.cpp 관련된 정의를 다음과 같이 구현한다.

#include "wxMain.h"

wxIMPLEMENT_APP(MyApp);

bool MyApp::OnInit()
{
    MyFrame* frame = new MyFrame("Serial Graph");
    frame->Show(true);
    return true;
}

MyFrame::MyFrame(const wxString& title)
    : wxFrame(NULL, wxID_ANY, title)
{
    wxMenu* menuFile = new wxMenu;
    menuFile->Append(ID_QUIT, "E&xit\tAlt-X", "프로그램 종료");

    wxMenuBar* menuBar = new wxMenuBar;
    menuBar->Append(menuFile, "&File");

    SetMenuBar(menuBar);

    wxSplitterWindow* splitter = new wxSplitterWindow(this);
    wxPanel* panel1 = new wxPanel(splitter, wxID_ANY);
    wxPanel* panel2 = new wxPanel(splitter, wxID_ANY);

    splitter->SplitVertically(panel1, panel2);

    // 이벤트 핸들러 연결
    Bind(wxEVT_MENU, &MyFrame::OnQuit, this, ID_QUIT);
}

void MyFrame::OnQuit(wxCommandEvent& event)
{
    Close(true);
}

 

이렇게 하면, 다음과 같은 창이 띄워진다.

 

 

 

Posted by JunkMam
,