public:
MyRenderer() : wxDelegateRendererNative(wxRendererNative::GetDefault()) { }
- virtual void DrawHeaderButton(wxWindow *WXUNUSED(win),
+ virtual int DrawHeaderButton(wxWindow *WXUNUSED(win),
wxDC& dc,
const wxRect& rect,
int WXUNUSED(flags) = 0,
dc.SetTextForeground(*wxWHITE);
dc.DrawRoundedRectangle(rect, 5);
dc.DrawLabel(_T("MyRenderer"), wxNullBitmap, rect, wxALIGN_CENTER);
+ return rect.width;
}
};
dc.DrawText(_T("Below is the standard header button drawn"), 10, 10);
dc.DrawText(_T("using the current renderer:"), 10, 40);
- wxRendererNative::Get().DrawHeaderButton(this, dc,
- wxRect(20, 70, 100, 60));
+ wxRendererNative& renderer = wxRendererNative::Get();
+ const wxCoord height = renderer.GetHeaderButtonHeight(this);
+
+ renderer.DrawHeaderButton(this, dc, wxRect(20, 70, 100, height));
}
DECLARE_EVENT_TABLE()
// 'Main program' equivalent: the program execution "starts" here
bool MyApp::OnInit()
{
+ if ( !wxApp::OnInit() )
+ return false;
+
// create the main application window
new MyFrame;