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/