#include "wx/wxprec.h"
#ifndef WX_PRECOMP
+ #include "wx/app.h"
#include "wx/button.h"
#include "wx/brush.h"
#include "wx/panel.h"
#include "wx/scrolwin.h"
#endif
+#include "wx/stockitem.h"
#include "wx/os2/private.h"
#define BUTTON_HEIGHT_FROM_CHAR_HEIGHT(cy) (11*EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy)/10)
bool wxButton::Create(
wxWindow* pParent
, wxWindowID vId
-, const wxString& rsLabel
+, const wxString& rsLbl
, const wxPoint& rPos
, const wxSize& rSize
, long lStyle
-#if wxUSE_VALIDATORS
, const wxValidator& rValidator
-#endif
, const wxString& rsName
)
{
+ wxString rsLabel(rsLbl);
+ if (rsLabel.empty() && wxIsStockID(vId))
+ rsLabel = wxGetStockLabel(vId);
+
+ wxString sLabel = ::wxPMTextToLabel(rsLabel);
+
SetName(rsName);
#if wxUSE_VALIDATORS
SetValidator(rValidator);
m_hWnd = (WXHWND)::WinCreateWindow( GetHwndOf(pParent) // Parent handle
,WC_BUTTON // A Button class window
- ,(PSZ)rsLabel.c_str() // Button text
+ ,(PSZ)sLabel.c_str() // Button text
,lStyle // Button style
,0, 0, 0, 0 // Location and size
,GetHwndOf(pParent) // Owner handle
int nWidthButton;
int nWidthChar;
int nHeightChar;
+ wxFont vFont = (wxFont)GetFont();
GetTextExtent( rsLabel
,&nWidthButton
wxGetCharSize( GetHWND()
,&nWidthChar
,&nHeightChar
- ,(wxFont*)&GetFont()
+ ,&vFont
);
//
//
// Need a little extra to make it look right
//
- nHeightButton += nHeightChar/1.5;
+ nHeightButton += (int)(nHeightChar/1.5);
if (!HasFlag(wxBU_EXACTFIT))
{
wxCHECK_RET( pParent, _T("button without parent?") );
//
- // Set this one as the default button both for wxWindows and Windows
+ // Set this one as the default button both for wxWidgets and Windows
//
wxWindow* pWinOldDefault = pParent->SetDefaultItem(this);
if ((lStyle & BS_USERBUTTON) != BS_USERBUTTON)
{
if (bOn)
- lStyle | BS_DEFAULT;
+ lStyle |= BS_DEFAULT;
else
lStyle &= ~BS_DEFAULT;
::WinSetWindowULong(GetHwndOf(pBtn), QWL_STYLE, lStyle);