From: David Webster Date: Tue, 10 Sep 2002 03:46:22 +0000 (+0000) Subject: Bmpbuttons X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/a579926062c74ef4e5ff2f1ddfbd60bbb43efed5 Bmpbuttons git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/os2/bmpbuttn.cpp b/src/os2/bmpbuttn.cpp index 3118216b05..e3ae729688 100644 --- a/src/os2/bmpbuttn.cpp +++ b/src/os2/bmpbuttn.cpp @@ -67,10 +67,10 @@ bool wxBitmapButton::Create( m_windowId = vId; if (nWidth == -1 && rBitmap.Ok()) - nWidth = rBitmap.GetWidth() + 2 * m_marginX; + nWidth = rBitmap.GetWidth() + 4 * m_marginX; if (nHeight == -1 && rBitmap.Ok()) - nHeight = rBitmap.GetHeight() + 2 * m_marginY; + nHeight = rBitmap.GetHeight() + 4 * m_marginY; ULONG ulOS2Style = WS_VISIBLE | WS_TABSTOP | BS_USERBUTTON; @@ -193,10 +193,8 @@ void wxBitmapButton::DrawFace ( // // Set up drawing colors // - wxPen vHiLitePen(wxColour(255, 255, 255), 1, wxSOLID); // White - wxPen vLitePen(wxColour(223, 223, 223), 1, wxSOLID); // Very Light Grey - wxPen vShadowPen(wxColour(191, 191, 191), 1, wxSOLID); // Medium Grey - wxPen vDarkShadowPen(wxColour(128, 128, 128), 1, wxSOLID); + wxPen vHiLitePen(wxColour(255, 255, 255), 2, wxSOLID); // White + wxPen vDarkShadowPen(wxColour(85, 85, 85), 2, wxSOLID); wxColour vFaceColor(wxColour(204, 204, 204)); // Light Grey // @@ -208,52 +206,29 @@ void wxBitmapButton::DrawFace ( // Draw the border // rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen); - rDC.DrawLine( rDC.m_vRclPaint.xLeft - ,rDC.m_vRclPaint.yTop - ,rDC.m_vRclPaint.xRight - 1 - ,rDC.m_vRclPaint.yTop - ); - rDC.DrawLine( rDC.m_vRclPaint.xLeft - ,rDC.m_vRclPaint.yTop + 1 - ,rDC.m_vRclPaint.xLeft - ,rDC.m_vRclPaint.yBottom - 1 - ); - - rDC.SetPen(bSel ? vShadowPen : vLitePen); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 - ,rDC.m_vRclPaint.yTop + 1 - ,rDC.m_vRclPaint.xRight - 2 - ,rDC.m_vRclPaint.yTop + 1 + ,rDC.m_vRclPaint.yTop - 1 + ,rDC.m_vRclPaint.xRight - 1 + ,rDC.m_vRclPaint.yTop - 1 ); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 - ,rDC.m_vRclPaint.yTop + 2 + ,rDC.m_vRclPaint.yTop - 1 ,rDC.m_vRclPaint.xLeft + 1 - ,rDC.m_vRclPaint.yBottom - 2 + ,rDC.m_vRclPaint.yBottom + 1 ); - rDC.SetPen(bSel ? vLitePen : vShadowPen); + rDC.SetPen(bSel ? vHiLitePen : vDarkShadowPen); rDC.DrawLine( rDC.m_vRclPaint.xLeft + 1 - ,rDC.m_vRclPaint.yBottom - 2 + ,rDC.m_vRclPaint.yBottom + 1 ,rDC.m_vRclPaint.xRight - 1 - ,rDC.m_vRclPaint.yBottom - 2 - ); - rDC.DrawLine( rDC.m_vRclPaint.xRight - 2 - ,rDC.m_vRclPaint.yBottom - 3 - ,rDC.m_vRclPaint.xRight - 2 - ,rDC.m_vRclPaint.yTop - ); - - rDC.SetPen(bSel ? vDarkShadowPen : vHiLitePen); - rDC.DrawLine( rDC.m_vRclPaint.xLeft - ,rDC.m_vRclPaint.yBottom - 1 - ,rDC.m_vRclPaint.xRight + 2 - ,rDC.m_vRclPaint.yBottom - 1 + ,rDC.m_vRclPaint.yBottom + 1 ); rDC.DrawLine( rDC.m_vRclPaint.xRight - 1 - ,rDC.m_vRclPaint.yBottom - 2 - ,rDC.m_vRclPaint.xRight - 1 ,rDC.m_vRclPaint.yTop - 1 + ,rDC.m_vRclPaint.xRight - 1 + ,rDC.m_vRclPaint.yBottom + 1 ); + } // end of wxBitmapButton::DrawFace void wxBitmapButton::DrawButtonFocus ( diff --git a/src/os2/settings.cpp b/src/os2/settings.cpp index de9acf20c8..4c70221cb8 100644 --- a/src/os2/settings.cpp +++ b/src/os2/settings.cpp @@ -149,17 +149,6 @@ wxColour wxSystemSettingsNative::GetColour( ); break; - case wxSYS_COLOUR_BTNDARKSHADOW: - vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP - ,SYSCLR_BUTTONDARK - ,0L - ); - vCol.Set( GetRValue(vRef) - ,GetGValue(vRef) - ,GetBValue(vRef) - ); - break; - case wxSYS_COLOUR_MENUBAR: vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP ,SYSCLR_MENU diff --git a/src/os2/window.cpp b/src/os2/window.cpp index 6382bbee26..2d3bee6535 100644 --- a/src/os2/window.cpp +++ b/src/os2/window.cpp @@ -2972,6 +2972,26 @@ MRESULT wxWindowOS2::OS2WindowProc( case WM_CONTROL: switch(SHORT2FROMMP(wParam)) { + case BN_PAINT: + { + HWND hWnd = ::WinWindowFromID((HWND)GetHwnd(), SHORT1FROMMP(wParam)); + wxWindowOS2* pWin = wxFindWinFromHandle(hWnd); + + if (!pWin) + { + bProcessed = FALSE; + break; + } + if (pWin->IsKindOf(CLASSINFO(wxBitmapButton))) + { + wxBitmapButton* pBitmapButton = wxDynamicCast(pWin, wxBitmapButton); + + pBitmapButton->OS2OnDraw((WXDRAWITEMSTRUCT *)lParam); + } + return 0; + } + break; + case BKN_PAGESELECTEDPENDING: { PPAGESELECTNOTIFY pPage = (PPAGESELECTNOTIFY)lParam;