X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/978af864269a739e77d9431c8465435e3f8f7407..8cb475f139b67c75f744c6060785812082df0758:/src/msw/tooltip.cpp diff --git a/src/msw/tooltip.cpp b/src/msw/tooltip.cpp index b18f806040..0b705200f7 100644 --- a/src/msw/tooltip.cpp +++ b/src/msw/tooltip.cpp @@ -28,6 +28,7 @@ #include "wx/tooltip.h" #ifndef WX_PRECOMP + #include "wx/msw/wrapcctl.h" // include "properly" #include "wx/app.h" #include "wx/control.h" #include "wx/combobox.h" @@ -36,9 +37,6 @@ #include "wx/tokenzr.h" #include "wx/msw/private.h" -// include "properly" -#include "wx/msw/wrapcctl.h" - // VZ: normally, the trick with subclassing the tooltip control and processing // TTM_WINDOWFROMPOINT should work but, somehow, it doesn't. I leave the // code here for now (but it's not compiled) in case we need it later. @@ -193,6 +191,18 @@ void wxToolTip::SetDelay(long milliseconds) TTDT_INITIAL, milliseconds); } +void wxToolTip::SetAutoPop(long milliseconds) +{ + SendTooltipMessageToAll(ms_hwndTT, TTM_SETDELAYTIME, + TTDT_AUTOPOP, milliseconds); +} + +void wxToolTip::SetReshow(long milliseconds) +{ + SendTooltipMessageToAll(ms_hwndTT, TTM_SETDELAYTIME, + TTDT_RESHOW, milliseconds); +} + // --------------------------------------------------------------------------- // implementation helpers // --------------------------------------------------------------------------- @@ -293,7 +303,7 @@ void wxToolTip::Add(WXHWND hWnd) // NMTTDISPINFO struct -- and setting the tooltip here we can have tooltips // of any length ti.hwnd = hwnd; - ti.lpszText = (wxChar *)m_text.c_str(); // const_cast + ti.lpszText = (wxChar *)m_text.wx_str(); // const_cast if ( !SendTooltipMessage(GetToolTipCtrl(), TTM_ADDTOOL, &ti) ) { @@ -341,13 +351,13 @@ void wxToolTip::Add(WXHWND hWnd) while (token.length()) { SIZE sz; - if ( !::GetTextExtentPoint32(hdc, token, token.length(), &sz) ) + if ( !::GetTextExtentPoint32(hdc, token.wx_str(), token.length(), &sz) ) { wxLogLastError(wxT("GetTextExtentPoint32")); } if ( sz.cx > max ) max = sz.cx; - + token = tokenizer.GetNextToken(); } @@ -362,7 +372,7 @@ void wxToolTip::Add(WXHWND hWnd) // replace the '\n's with spaces because otherwise they appear as // unprintable characters in the tooltip string m_text.Replace(_T("\n"), _T(" ")); - ti.lpszText = (wxChar *)m_text.c_str(); // const_cast + ti.lpszText = (wxChar *)m_text.wx_str(); // const_cast if ( !SendTooltipMessage(GetToolTipCtrl(), TTM_ADDTOOL, &ti) ) { @@ -436,7 +446,7 @@ void wxToolTip::SetTip(const wxString& tip) { // update the tip text shown by the control wxToolInfo ti(GetHwndOf(m_window)); - ti.lpszText = (wxChar *)m_text.c_str(); + ti.lpszText = (wxChar *)m_text.wx_str(); (void)SendTooltipMessage(GetToolTipCtrl(), TTM_UPDATETIPTEXT, &ti); }