use fixed TOOLINFO struct size instead of trying to (wrongly) deduce it from the _WIN32_IE value, fixes bug with tooltips not appearing under Windows 95
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
1044b90c1b
commit
7709915e96
@ -36,6 +36,10 @@
|
|||||||
#include "wx/tokenzr.h"
|
#include "wx/tokenzr.h"
|
||||||
#include "wx/msw/private.h"
|
#include "wx/msw/private.h"
|
||||||
|
|
||||||
|
#ifndef TTTOOLINFO_V1_SIZE
|
||||||
|
#define TTTOOLINFO_V1_SIZE 0x28
|
||||||
|
#endif
|
||||||
|
|
||||||
// VZ: normally, the trick with subclassing the tooltip control and processing
|
// VZ: normally, the trick with subclassing the tooltip control and processing
|
||||||
// TTM_WINDOWFROMPOINT should work but, somehow, it doesn't. I leave the
|
// 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.
|
// code here for now (but it's not compiled) in case we need it later.
|
||||||
@ -78,20 +82,14 @@ public:
|
|||||||
::ZeroMemory(this, sizeof(TOOLINFO));
|
::ZeroMemory(this, sizeof(TOOLINFO));
|
||||||
|
|
||||||
// the structure TOOLINFO has been extended with a 4 byte field in
|
// the structure TOOLINFO has been extended with a 4 byte field in
|
||||||
// version 4.70 of comctl32.dll and if we compile on a newer machine
|
// version 4.70 of comctl32.dll and another one in 5.01 but we don't
|
||||||
// but run on one with the old version of comctl32, nothing will work
|
// use these extended fields so use the old struct size to ensure that
|
||||||
// because the library will detect that we rely on a more recent
|
// the tooltips work on old (Windows 95) systems too
|
||||||
// version of it. So we always use the old size - if we ever start
|
cbSize = TTTOOLINFO_V1_SIZE;
|
||||||
// using our lParam member, we'd have to check for comctl32 version
|
|
||||||
// during run-time
|
|
||||||
#if _WIN32_IE >= 0x0300
|
|
||||||
cbSize = sizeof(TOOLINFO) - sizeof(LPARAM);
|
|
||||||
#else // old headers
|
|
||||||
cbSize = sizeof(TOOLINFO);
|
|
||||||
#endif // compile-time comctl32.dll version
|
|
||||||
|
|
||||||
hwnd = hwndOwner;
|
hwnd = hwndOwner;
|
||||||
uFlags = TTF_IDISHWND;
|
uFlags = TTF_IDISHWND;
|
||||||
|
|
||||||
uId = (UINT)hwndOwner;
|
uId = (UINT)hwndOwner;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user