#include "wx/resource.h"
#endif
+#if wxUSE_TOOLTIPS
+ #include "wx/tooltip.h"
+#endif // wxUSE_TOOLTIPS
+
// OLE is used for drag-and-drop, clipboard, OLE Automation...
#ifndef wxUSE_NORLANDER_HEADERS
#if defined(__GNUWIN32__) || defined(__SC__) || defined(__SALFORDC__)
LRESULT WXDLLEXPORT APIENTRY wxWndProc(HWND, UINT, WPARAM, LPARAM);
-#if wxUSE_RICHEDIT
- // the handle to richedit DLL and the version of the DLL loaded
- static HINSTANCE gs_hRichEdit = (HINSTANCE)NULL;
- static int gs_verRichEdit = -1;
-#endif
-
// ===========================================================================
// implementation
// ===========================================================================
wxSetKeyboardHook(FALSE);
-#if wxUSE_RICHEDIT
- if (gs_hRichEdit != (HINSTANCE) NULL)
- FreeLibrary(gs_hRichEdit);
-#endif
-
#if wxUSE_PENWINDOWS
wxCleanUpPenWin();
#endif
{
MSG *msg = (MSG *)wxmsg;
HWND hWnd = msg->hwnd;
- wxWindow *wndThis = wxFindWinFromHandle((WXHWND)hWnd), *wnd;
+ wxWindow *wndThis = wxGetWindowFromHWND((WXHWND)hWnd);
- // for some composite controls (like a combobox), wndThis might be NULL
- // because the subcontrol is not a wxWindow, but only the control itself
- // is - try to catch this case
- while ( hWnd && !wndThis )
+#if wxUSE_TOOLTIPS
+ // we must relay WM_MOUSEMOVE events to the tooltip ctrl if we want it to
+ // popup the tooltip bubbles
+ if ( wndThis && (msg->message == WM_MOUSEMOVE) )
{
- hWnd = ::GetParent(hWnd);
- wndThis = wxFindWinFromHandle((WXHWND)hWnd);
+ wxToolTip *tt = wndThis->GetToolTip();
+ if ( tt )
+ {
+ tt->RelayEvent(wxmsg);
+ }
}
+#endif // wxUSE_TOOLTIPS
// Try translations first; find the youngest window with
// a translation table.
+ wxWindow *wnd;
for ( wnd = wndThis; wnd; wnd = wnd->GetParent() )
{
if ( wnd->MSWTranslateMessage(wxmsg) )
}
}
-#if wxUSE_RICHEDIT
-
-/* static */
-bool wxApp::InitRichEdit(int version)
-{
- wxCHECK_MSG( version >= 1 && version <= 3, FALSE,
- _T("incorrect richedit control version requested") );
-
- if ( version <= gs_verRichEdit )
- {
- // we've already got this or better
- return TRUE;
- }
-
- if ( gs_hRichEdit )
- {
- ::FreeLibrary(gs_hRichEdit);
- }
-
- // always try load riched20.dll first - like this we won't have to reload
- // it later if we're first asked for RE 1 and then for RE 2 or 3
- wxString dllname = _T("riched20.dll");
- gs_hRichEdit = ::LoadLibrary(dllname);
- if ( !gs_hRichEdit && (version == 1) )
- {
- // fall back to RE 1
- dllname = _T("riched32.dll");
- gs_hRichEdit = ::LoadLibrary(dllname);
- }
-
- if ( !gs_hRichEdit )
- {
- wxLogSysError(_("Could not load Rich Edit DLL '%s'"), dllname.c_str());
-
- gs_verRichEdit = -1;
-
- return FALSE;
- }
-
- gs_verRichEdit = version;
-
- return TRUE;
-}
-
-#endif // wxUSE_RICHEDIT
-
/* static */
int wxApp::GetComCtl32Version()
{
FARPROC theProc = ::GetProcAddress
(
hModuleComCtl32,
+#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x520)
+ "InitCommonControlsEx"
+#else
_T("InitCommonControlsEx")
+#endif
);
if ( !theProc )
theProc = ::GetProcAddress
(
hModuleComCtl32,
+#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x520)
+ "InitializeFlatSB"
+#else
_T("InitializeFlatSB")
+#endif
);
if ( !theProc )
{
// For some reason, with MSVC++ 1.5, WinMain isn't linked in properly
// if in a separate file. So include it here to ensure it's linked.
-#if (defined(__VISUALC__) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !defined(__TWIN32__))
+#if (defined(__VISUALC__) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !defined(__TWIN32__) && !defined(WXMAKINGDLL))
#include "main.cpp"
#endif