X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6670f56440ae9209b3e2e51e06acf3bc5aaf1905..da19c58b6085f590b912b56e81cfdb8ff244cdb7:/src/os2/ownerdrw.cpp?ds=sidebyside diff --git a/src/os2/ownerdrw.cpp b/src/os2/ownerdrw.cpp index e0bc262832..12790b51ce 100644 --- a/src/os2/ownerdrw.cpp +++ b/src/os2/ownerdrw.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: msw/ownerdrw.cpp +// Name: src/os2/ownerdrw.cpp // Purpose: implementation of wxOwnerDrawn class // Author: David Webster // Modified by: @@ -9,29 +9,24 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#if wxUSE_OWNER_DRAWN + #ifndef WX_PRECOMP - #include "wx/window.h" - #include "wx/os2/private.h" - #include "wx/font.h" - #include "wx/bitmap.h" - #include "wx/dcmemory.h" - #include "wx/menu.h" - #include "wx/utils.h" + #include "wx/window.h" + #include "wx/os2/private.h" + #include "wx/font.h" + #include "wx/bitmap.h" + #include "wx/dcmemory.h" + #include "wx/menu.h" + #include "wx/utils.h" + #include "wx/settings.h" + #include "wx/menuitem.h" #endif -#if wxUSE_OWNER_DRAWN - -#include "wx/settings.h" #include "wx/ownerdrw.h" -#include "wx/menuitem.h" - // ============================================================================ // implementation of wxOwnerDrawn class @@ -47,7 +42,7 @@ wxOwnerDrawn::wxOwnerDrawn( const wxString& rsStr, : m_strName(rsStr) { m_bCheckable = bCheckable; - m_bOwnerDrawn = FALSE; + m_bOwnerDrawn = false; m_nHeight = 0; m_nMarginWidth = ms_nLastMarginWidth; if (wxNORMAL_FONT) @@ -78,7 +73,7 @@ bool wxOwnerDrawn::OnMeasureItem( size_t* pWidth, // placed on top of each other. if (!m_strAccel.empty() ) { - sStr.Pad(sStr.Length()%8); + sStr.Pad(sStr.length()%8); sStr += m_strAccel; } vDC.SetFont(GetFont()); @@ -209,12 +204,22 @@ bool wxOwnerDrawn::OnDrawItem( wxDC& rDC, // if (eStatus & wxODSelected) { - wxColour vCol2(wxT("WHITE")); - vColBack.Set( (unsigned char)0 - ,(unsigned char)0 - ,(unsigned char)160 - ); // no dark blue in color table - vColText = vCol2; + vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP + ,SYSCLR_MENUHILITEBGND + ,0L + ); + vColBack.Set( GetRValue(vRef) + ,GetGValue(vRef) + ,GetBValue(vRef) + ); + vRef = (ULONG)::WinQuerySysColor( HWND_DESKTOP + ,SYSCLR_MENUHILITE + ,0L + ); + vColText.Set( GetRValue(vRef) + ,GetGValue(vRef) + ,GetBValue(vRef) + ); } else if (eStatus & wxODDisabled) { @@ -308,7 +313,7 @@ bool wxOwnerDrawn::OnDrawItem( wxDC& rDC, // // Deal with the tab, extracting the Accel text // - nIndex = sFullString.Find(sTgt.c_str()); + nIndex = sFullString.Find(sTgt); if (nIndex != -1) { bFoundAccel = true; @@ -320,7 +325,7 @@ bool wxOwnerDrawn::OnDrawItem( wxDC& rDC, // Deal with the mnemonic character // sTgt = wxT("~"); - nIndex = sFullString.Find(sTgt.c_str()); + nIndex = sFullString.Find(sTgt); if (nIndex != -1) { wxString sTmp = sFullString; @@ -346,7 +351,7 @@ bool wxOwnerDrawn::OnDrawItem( wxDC& rDC, ::GpiCharStringAt( rDC.GetHPS() ,&vPntStart ,sFullString.length() - ,(PCH)sFullString.c_str() + ,sFullString.char_str() ); if (bFoundMnemonic) { @@ -384,7 +389,7 @@ bool wxOwnerDrawn::OnDrawItem( wxDC& rDC, ::GpiCharStringAt( rDC.GetHPS() ,&vPntStart ,sAccel.length() - ,(PCH)sAccel.c_str() + ,sAccel.char_str() ); }