X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5625d0d4cae9261e1571220f883b7b6c9ddb01f8..50f3c41d61bd9ae69f215bad923f562d509e063c:/src/msw/tbar95.cpp diff --git a/src/msw/tbar95.cpp b/src/msw/tbar95.cpp index 606e581cd9..7a64abe8e5 100644 --- a/src/msw/tbar95.cpp +++ b/src/msw/tbar95.cpp @@ -26,6 +26,8 @@ #if wxUSE_TOOLBAR && wxUSE_TOOLBAR_NATIVE && !defined(__SMARTPHONE__) +#include "wx/toolbar.h" + #ifndef WX_PRECOMP #include "wx/dynarray.h" #include "wx/frame.h" @@ -36,11 +38,10 @@ #include "wx/dcmemory.h" #include "wx/control.h" #include "wx/app.h" // for GetComCtl32Version + #include "wx/image.h" #endif -#include "wx/toolbar.h" #include "wx/sysopt.h" -#include "wx/image.h" #include "wx/msw/private.h" @@ -376,9 +377,8 @@ WXDWORD wxToolBar::MSWGetStyle(long style, WXDWORD *exstyle) const (style & ~wxBORDER_MASK) | wxBORDER_NONE, exstyle ); - // always include this one, it never hurts and setting it later - // only if we do have tooltips wouldn't work - msStyle |= TBSTYLE_TOOLTIPS; + if ( !(style & wxTB_NO_TOOLTIPS) ) + msStyle |= TBSTYLE_TOOLTIPS; if ( style & (wxTB_FLAT | wxTB_HORZ_LAYOUT) ) { @@ -1118,33 +1118,34 @@ bool wxToolBar::MSWOnNotify(int WXUNUSED(idCtrl), WXLPARAM lParam, WXLPARAM *WXUNUSED(result)) { + if( !HasFlag(wxTB_NO_TOOLTIPS) ) + { #if wxUSE_TOOLTIPS - // First check if this applies to us - NMHDR *hdr = (NMHDR *)lParam; + // First check if this applies to us + NMHDR *hdr = (NMHDR *)lParam; - // the tooltips control created by the toolbar is sometimes Unicode, even - // in an ANSI application - this seems to be a bug in comctl32.dll v5 - UINT code = hdr->code; - if ( (code != (UINT) TTN_NEEDTEXTA) && (code != (UINT) TTN_NEEDTEXTW) ) - return false; - - HWND toolTipWnd = (HWND)::SendMessage((HWND)GetHWND(), TB_GETTOOLTIPS, 0, 0); - if ( toolTipWnd != hdr->hwndFrom ) - return false; + // the tooltips control created by the toolbar is sometimes Unicode, even + // in an ANSI application - this seems to be a bug in comctl32.dll v5 + UINT code = hdr->code; + if ( (code != (UINT) TTN_NEEDTEXTA) && (code != (UINT) TTN_NEEDTEXTW) ) + return false; - LPTOOLTIPTEXT ttText = (LPTOOLTIPTEXT)lParam; - int id = (int)ttText->hdr.idFrom; + HWND toolTipWnd = (HWND)::SendMessage(GetHwnd(), TB_GETTOOLTIPS, 0, 0); + if ( toolTipWnd != hdr->hwndFrom ) + return false; - wxToolBarToolBase *tool = FindById(id); - if ( !tool ) - return false; + LPTOOLTIPTEXT ttText = (LPTOOLTIPTEXT)lParam; + int id = (int)ttText->hdr.idFrom; - return HandleTooltipNotify(code, lParam, tool->GetShortHelp()); + wxToolBarToolBase *tool = FindById(id); + if ( tool ) + return HandleTooltipNotify(code, lParam, tool->GetShortHelp()); #else - wxUnusedVar(lParam); + wxUnusedVar(lParam); +#endif + } return false; -#endif } // ----------------------------------------------------------------------------