+
+ destDc.SetBrush( grayBrush );
+ destDc.SetPen( nullPen );
+
+ destDc.DrawRectangle( 0,0, destDim.x+1, destDim.y+1 );
+
+ if ( isPressed )
+ {
+ ++imgPos.x; ++imgPos.y;
+ ++txtPos.x; ++txtPos.y;
+ }
+
+ if ( hasImage )
+ {
+
+ destDc.Blit( imgPos.x, imgPos.y,
+ srcBmp->GetWidth()+1,
+ srcBmp->GetHeight()+1,
+ &srcDc, 0,0, wxCOPY,TRUE );
+ }
+
+ if ( hasText )
+ {
+ wxWindow* pTopWnd = this;
+
+ do
+ {
+ wxWindow* pParent = pTopWnd->GetParent();
+
+ if ( pParent == 0 ) break;
+
+ pTopWnd = pParent;
+ } while(1);
+
+ destDc.SetFont( wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT) );
+
+ if( isEnabled ){
+ destDc.SetTextForeground( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNTEXT) );
+ }else{
+ destDc.SetTextForeground( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DSHADOW) );
+ }
+ destDc.SetTextBackground( wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE) );
+
+ destDc.DrawText( mLabelText, txtPos.x, txtPos.y );
+ }
+
+ if ( !isEnabled ){