X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d3997fd6d10c1fa80611eaff1c64b6b51cacb74..e6a8416274252fb6ea33800cfce0e4ba0a0542f1:/src/msw/ownerdrw.cpp?ds=sidebyside diff --git a/src/msw/ownerdrw.cpp b/src/msw/ownerdrw.cpp index 8d45820d74..12f6d210bc 100644 --- a/src/msw/ownerdrw.cpp +++ b/src/msw/ownerdrw.cpp @@ -21,6 +21,7 @@ #include "wx/msw/private.h" #include "wx/font.h" #include "wx/bitmap.h" + #include "wx/image.h" #include "wx/dcmemory.h" #include "wx/menu.h" #include "wx/utils.h" @@ -197,7 +198,10 @@ bool wxOwnerDrawn::OnMeasureItem(size_t *pwidth, size_t *pheight) dc.SetFont(GetFontToUse()); - dc.GetTextExtent(str, (long *)pwidth, (long *)pheight); + wxCoord w, h; + dc.GetTextExtent(str, &w, &h); + *pwidth = w; + *pheight = h; // add space at the end of the menu for the submenu expansion arrow // this will also allow offsetting the accel string from the right edge @@ -354,7 +358,8 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc, SIZE sizeRect; ::GetTextExtentPoint32(hdc, strMenuText.c_str(), strMenuText.length(), &sizeRect); ::DrawState(hdc, NULL, NULL, - (LPARAM)strMenuText.c_str(), strMenuText.length(), + (LPARAM)strMenuText.wx_str(), + strMenuText.length(), xText, rc.y + (int) ((rc.GetHeight()-sizeRect.cy)/2.0), // centre text vertically rc.GetWidth()-margin, sizeRect.cy, DST_PREFIXTEXT | @@ -371,7 +376,8 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc, // right align accel string with right edge of menu ( offset by the // margin width ) ::DrawState(hdc, NULL, NULL, - (LPARAM)m_strAccel.c_str(), m_strAccel.length(), + (LPARAM)m_strAccel.wx_str(), + m_strAccel.length(), rc.GetWidth()-16-accel_width, rc.y+(int) ((rc.GetHeight()-sizeRect.cy)/2.0), 0, 0, DST_TEXT |