wxWidgets 에서 wxHtmlWindow 를 사용해서
나만의 custom tag를 만들어서 event를 추가 했다.
초보적인 접근 방법이라 부끄럽다. -_-;;

class MyFrame : public wxFrame
{
public:
    <<생략>>
    void OnClicked(wxCommandEvent& event){

         if(event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED ){
             wxMessageBox(((wxButton *)event.GetEventObject())->GetLabel() );
         }
        
    };
}

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    <<생략>>
    EVT_BUTTON (wxID_OK, MyFrame::OnClicked)
END_EVENT_TABLE()




================================================[ wxHtmlWindow 사용시 ]
/*


TAG HANDER FOR 'MYBUTTON' TAG


*/

 
TAG_HANDLER_BEGIN(MYBUTTON, "MYBUTTON")
   
    TAG_HANDLER_PROC(tag)
    {
        wxWindow *wnd;
        int ax, ay;
        int fl = 0;
       
        tag.ScanParam(wxT("X"), wxT("%i"), &ax);
        tag.ScanParam(wxT("Y"), wxT("%i"), &ay);
       
        wnd = new wxButton(m_WParser->GetWindow(),
                                      wxID_OK,
                                      tag.GetParam(wxT("NAME")),
                                      wxPoint(ax, ay));
        wnd->Show(true);
   
        m_WParser->GetContainer()->InsertCell(new wxHtmlWidgetCell(wnd, fl));
   
        return false;
    }

TAG_HANDLER_END(MYBUTTON)

TAGS_MODULE_BEGIN(MyButton)
    TAGS_MODULE_ADD(MYBUTTON)
TAGS_MODULE_END(MyButton)



======================================[ html ]
<myButton name="voice" x=100 y=30>
<myButton name="korean" x=100 y=30>


======================================[연구]
wxButton을 상속받아서
html element의 속성 ( 예. id, name, value 등 )을
설정할 수 있는 field를 추가 해 보자.

IMG, MAP, AREA등 괜찮은 html 구현 소스가 있는 곳
   http://stuff.mit.edu/afs/sipb/project/vlcplayer/src/wxGTK-2.8.7/src/html/
Posted by stekilove
,