X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/debe6624c1e9d4bf3243381153d1e173c849bcd8..a38b83c353cce75329b2c53c0eaa4ad0f500ccf1:/src/msw/button.cpp?ds=sidebyside diff --git a/src/msw/button.cpp b/src/msw/button.cpp index 13f671d53b..03200cfacf 100644 --- a/src/msw/button.cpp +++ b/src/msw/button.cpp @@ -30,13 +30,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxButton, wxControl) #endif -#define BUTTON_HEIGHT_FACTOR (EDIT_CONTROL_FACTOR * 1.1) +#define BUTTON_HEIGHT_FROM_CHAR_HEIGHT(cy) (11*EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy)/10) // Buttons bool wxButton::MSWCommand(WXUINT param, WXWORD id) { - if (param == BN_CLICKED) + if (param == BN_CLICKED || (param == 1)) // 1 for accelerator { wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, id); event.SetEventObject(this); @@ -56,8 +56,8 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label, SetValidator(validator); parent->AddChild((wxButton *)this); - m_backgroundColour = parent->GetDefaultBackgroundColour() ; - m_foregroundColour = parent->GetDefaultForegroundColour() ; + m_backgroundColour = parent->GetBackgroundColour() ; + m_foregroundColour = parent->GetForegroundColour() ; m_windowStyle = (long&)style; @@ -106,6 +106,8 @@ void wxButton::SetSize(int x, int y, int width, int height, int sizeFlags) if (y == -1 || (sizeFlags & wxSIZE_ALLOW_MINUS_ONE)) y1 = currentY; + AdjustForParentClientOrigin(x1, y1, sizeFlags); + int actualWidth = width; int actualHeight = height; int ww, hh; @@ -133,7 +135,7 @@ void wxButton::SetSize(int x, int y, int width, int height, int sizeFlags) actualHeight = hh; else if (height == -1) { - actualHeight = (int)(cyf*BUTTON_HEIGHT_FACTOR) ; + actualHeight = BUTTON_HEIGHT_FROM_CHAR_HEIGHT(cyf); } MoveWindow((HWND) GetHWND(), x1, y1, actualWidth, actualHeight, TRUE); @@ -147,8 +149,10 @@ void wxButton::SetDefault(void) if (parent) { - SendMessage((HWND) parent->GetHWND(), DM_SETDEFID, m_windowId, 0L); + SendMessage((HWND)parent->GetHWND(), DM_SETDEFID, m_windowId, 0L); } + + SendMessage((HWND)GetHWND(), BM_SETSTYLE, BS_DEFPUSHBUTTON, 1L); } wxString wxButton::GetLabel(void) const