정적 이벤트 테이블


도움말 사이트: http://docs.wxwidgets.org/trunk/index.html

wxEvtHandler 파생 클래스는 이벤트 테이블을 생성하고 사용할 수 있습니다. wxApp 클래스도 wxEvtHandler 파생 클래스다.

모든 이벤트 정보 객체는 wxEvent 파생 클래스입니다. wxCommandEvent 이벤트 정보 객체는 유일하게 이벤트를 부모쪽으로 전파하고, 최종적으로 처리할 이벤트가 없으면 wxApp까지 이벤트를 전달하는 구조를 가지고 있습니다.

wxNonOwnedWindow 클래스는 부모 윈도우를 가질 수 없는 윈도우 즉, 최상위에 존재하는 윈도우를 의미한다.
wxWidgets 라이브러리는 wxTopLevelWindow의 파생 클래스에 대한 인스턴스 목록을 관리하며, 인스턴스 목록이 없으면 프로세서를 종료한다.

wxPanel 클래스는 wxControl 파생 클래스를 관리하도록 최적화된 컨테이너 윈도우입니다.

MyFrame.h
#pragma  once

#include  <wx/wx.h>

class  MyFrame:public  wxFrame  
{
   enum {
      ID_TEXT1=1,
      ID_TEXT2,
   };

private:
   wxTextCtrl* text_;
   wxTextCtrl* text2_;

public:
    MyFrame(const  wxString& title);
    ~MyFrame(void);

private:
   void OnEnter(wxCommandEvent& event);
   void OnText(wxCommandEvent& event);

   DECLARE_EVENT_TABLE()
};

MyFrame.cpp
#include  "MyFrame.h"

BEGIN_EVENT_TABLE(    MyFrame,   wxFrame)
    EVT_TEXT_ENTER(ID_TEXT1, MyFrame::OnEnter)
    EVT_TEXT(ID_TEXT1, MyFrame::OnText)
END_EVENT_TABLE()


MyFrame::MyFrame(const wxString& title)
    :wxFrame(NULL,wxID_ANY, title)
{
    wxPanel* panel = new wxPanel(this);
    text_ = new wxTextCtrl(panel,ID_TEXT1,"",wxPoint(100,50));
    text_->SetWindowStyle(wxTE_PROCESS_ENTER);

    text2_ = new wxTextCtrl(panel,ID_TEXT2,"",wxPoint(100,100));
}


MyFrame::~MyFrame(void)
{
}

void
MyFrame::OnEnter(wxCommandEvent& event){
    wxMessageBox( this->text_->GetValue());
}

void
MyFrame::OnText(wxCommandEvent& event){
    text2_->SetValue(  this->text_->GetValue() );
}

MyApp.h
#pragma  once
#include  <wx/wx.h>
class MyApp:public wxApp
{
public:
    MyApp(void);
    ~MyApp(void);
   virtual  bool OnInit();
};

DECLARE_APP(MyApp);

MyApp.cpp
#include  "MyApp.h"
#include  "MyFrame.h"

IMPLEMENT_APP(MyApp);

MyApp::MyApp(void)
{
}


MyApp::~MyApp(void)
{
}

bool
MyApp::OnInit(){
    wxFrame* m = new MyFrame("Hello Text Control");
    m->Show(true);
   return  true;
}

- 목록:

2 thoughts on “wxPaintDC 이해하기

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>