1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <wx/defs.h>
#include <wx/window.h>
#include <wx/msgdlg.h>
#include "../../contrib/dllwidget/dllwidget.h"
class TestWindow : public wxWindow
{
public:
TestWindow(wxWindow *parent, long style)
: wxWindow(parent, wxID_ANY)
{
SetBackgroundColour(wxColour("white"));
}
int HandleCommand(int cmd, const wxString& param)
{
if (cmd == 1)
{
SetBackgroundColour(wxColour("red"));
Refresh();
}
if (cmd == 2)
{
SetBackgroundColour(wxColour(param));
Refresh();
}
else if (cmd == 3)
{
wxMessageBox("Message from embedded widget:\n\n" + param);
}
return 0;
}
private:
DECLARE_ABSTRACT_CLASS(TestWindow)
};
IMPLEMENT_ABSTRACT_CLASS(TestWindow, wxWindow)
//DECLARE_DLL_WIDGET(TestWindow)
static int SendCommandToTestWindow(wxWindow *wnd, int cmd, const wxString& param)
{
return wxStaticCast(wnd, TestWindow)->HandleCommand(cmd, param);
}
BEGIN_WIDGET_LIBRARY()
REGISTER_WIDGET(TestWindow)
END_WIDGET_LIBRARY()
|