정적 이벤트 테이블


도움말 사이트: 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;
}

- 목록:

3 thoughts on “wxPaintDC 이해하기

  1. 공유해주신 동영상에서 많은 것을 배우고 있습니다. 감사합니다.
    윈도우에서 GUI 프로그래밍을 가끔 하지만, RAD 툴에서 만들어주는 코드를 약간 변형하는 정도입니다.
    동영상을 보다보니, 툴이 생성해주는 코드들에 대해 좀 더 이해할 수 있을 것 같습니다.
    wxSmith 를 이용하여 wxWidget 를 사용하려 알아보는 중인데, 설명을 들으니 wxSmith 나 wxFormWBuilder 가 해주는 일을 약간은 이해할 수 있게 된 것 같습니다. 해당 툴을 사용하는데 많은 도움이 될 것 같습니다.
    좋은 강좌에 감사드립니다.

Leave a Reply to admin Cancel 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>