X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe3d9123c6968b452a95133c635069d6f7ae8ea5..3df38e2077f56b5edb03f2fdb454fa04c0bfb1d6:/src/msw/control.cpp?ds=sidebyside diff --git a/src/msw/control.cpp b/src/msw/control.cpp index e05ee6476d..b265d56be0 100644 --- a/src/msw/control.cpp +++ b/src/msw/control.cpp @@ -9,7 +9,7 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "control.h" #endif @@ -33,7 +33,7 @@ #include "wx/msw/private.h" -#if defined(__WIN95__) && !((defined(__GNUWIN32_OLD__) || defined(__TWIN32__)) && !defined(__CYGWIN10__)) +#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__)) #include #endif @@ -96,9 +96,8 @@ bool wxControl::MSWCreateControl(const wxChar *classname, // if no extended style given, determine it ourselves if ( exstyle == (WXDWORD)-1 ) { -// exstyle = Determine3DEffects(WS_EX_CLIENTEDGE, &want3D); exstyle = 0; - (void) MSWGetStyle(GetWindowStyle(), & exstyle) ; + (void) MSWGetStyle(GetWindowStyle(), &exstyle); } // all controls should have this style @@ -159,6 +158,14 @@ bool wxControl::MSWCreateControl(const wxChar *classname, return TRUE; } +wxBorder wxControl::GetDefaultBorder() const +{ + // we want to automatically give controls a sunken style (confusingly, + // it may not really mean sunken at all as we map it to WS_EX_CLIENTEDGE + // which is not sunken at all under Windows XP -- rather, just the default) + return wxBORDER_SUNKEN; +} + wxSize wxControl::DoGetBestSize() const { return wxSize(DEFAULT_ITEM_WIDTH, DEFAULT_ITEM_HEIGHT); @@ -241,11 +248,17 @@ void wxControl::OnEraseBackground(wxEraseEvent& event) HBRUSH hBrush = ::CreateSolidBrush(wxColourToRGB(GetBackgroundColour())); HDC hdc = GetHdcOf((*event.GetDC())); + +#ifndef __WXWINCE__ int mode = ::SetMapMode(hdc, MM_TEXT); +#endif ::FillRect(hdc, &rect, hBrush); ::DeleteObject(hBrush); + +#ifndef __WXWINCE__ ::SetMapMode(hdc, mode); +#endif } WXHBRUSH wxControl::OnCtlColor(WXHDC pDC, WXHWND WXUNUSED(pWnd), WXUINT WXUNUSED(nCtlColor), @@ -269,11 +282,6 @@ WXHBRUSH wxControl::OnCtlColor(WXHDC pDC, WXHWND WXUNUSED(pWnd), WXUINT WXUNUSED #endif // wxUSE_CTL3D HDC hdc = (HDC)pDC; - if (GetParent()->GetTransparentBackground()) - SetBkMode(hdc, TRANSPARENT); - else - SetBkMode(hdc, OPAQUE); - wxColour colBack = GetBackgroundColour(); ::SetBkColor(hdc, wxColourToRGB(colBack));