wxWidgets에서 윈도우에 존재하는 패널에서 간단한 버튼을 넣을려고한다.

 

    wxButton* myButton = new wxButton(panel1, wxID_ANY, wxT("Click Me"), 
                                      wxPoint(10, 10), wxDefaultSize, 0);

 

 이렇게 하면, 간단한 버튼이 생성되고, panel1에 추가 된다.

 

 버튼을 눌렀을때는 button에 wxEVT_BUTTON이라는 이벤트가 발생한다.

 그래서, myButton에 Bind하여 이벤트를 인식하도록 한다.

 

    myButton->Bind(wxEVT_BUTTON, &MyFrame::OnQuit, this);

 

이렇게 하면, OnQuit 메소드를 호출하여 동작하고, 개별로 동작했으면 좋겠으면 다음과 같이 작성하면 된다.

    myButton->Bind(wxEVT_BUTTON, &MyFrame::OnButtonClick, this);

 

이렇게 하면, OnButtonClick이라는 함수에서 동작하게 된다.

 

OnButtonClick은 개발자가 임의로 제작하면 되기에 '선언'과 '정의'를 하면, 해당 버튼이 클릭이 되었을때, 메소드를 호출하게 된다.

void MyFrame::OnButtonClick(wxCommandEvent& event)
{
    // 버튼 클릭 시 수행할 작업
    wxMessageBox("버튼이 클릭되었습니다!", "알림", wxOK | wxICON_INFORMATION, this);
}

 

 이렇게 되면, 버튼을 클릭했을때, 이벤트를 처리하면서 알림창이 뜨게 된다.

 

 

Posted by JunkMam
,