// ---------------------------------------------------------------------------
extern wxChar* wxBuffer;
-extern wxChar* wxOsVersion;
extern wxList* wxWinHandleList;
extern wxList WXDLLEXPORT wxPendingDelete;
extern wxCursor* g_globalCursor;
HBRUSH wxDisableButtonBrush = (HBRUSH) 0;
-MRESULT EXPENTRY wxWndProc( HWND
- ,ULONG
- ,MPARAM
- ,MPARAM
- );
-
// ===========================================================================
// implementation
// ===========================================================================
wxClassInfo::InitializeClasses();
-#if wxUSE_RESOURCES
- wxGetResource(wxT("wxWindows"), wxT("OsVersion"), &wxOsVersion);
-#endif
-
#if wxUSE_THREADS
wxPendingEventsLocker = new wxCriticalSection;
#endif
if (!::WinRegisterClass( vHab
,wxFrameClassName
,(PFNWP)wxWndProc
- ,CS_SIZEREDRAW | CS_SYNCPAINT
+ ,CS_SIZEREDRAW | CS_MOVENOTIFY | CS_SYNCPAINT
,sizeof(ULONG)
))
{
if (!::WinRegisterClass( vHab
,wxMDIFrameClassName
,(PFNWP)wxWndProc
- ,CS_SIZEREDRAW | CS_SYNCPAINT
+ ,CS_SIZEREDRAW | CS_MOVENOTIFY | CS_SYNCPAINT
,0
))
{
wxClassInfo::CleanUpClasses();
+ // Delete Message queue
+ if (wxTheApp->m_hMq)
+ ::WinDestroyMsgQueue(wxTheApp->m_hMq);
+
delete wxTheApp;
wxTheApp = NULL;
m_nPrintMode = wxPRINT_WINDOWS;
m_exitOnFrameDelete = TRUE;
m_bAuto3D = TRUE;
+ m_hMq = 0;
} // end of wxApp::wxApp
wxApp::~wxApp()
//
// Delete command-line args
//
+#if wxUSE_UNICODE
int i;
for (i = 0; i < argc; i++)
delete[] argv[i];
}
delete[] argv;
+#endif
} // end of wxApp::~wxApp
bool wxApp::Initialized()
//
bool wxApp::DoMessage()
{
- BOOL bRc = ::WinGetMsg(vHabmain, &m_vMsg, HWND(NULL), 0, 0);
+ BOOL bRc = ::WinGetMsg(vHabmain, &svCurrentMsg, HWND(NULL), 0, 0);
+// wxUsleep(1000);
if (bRc == 0)
{
// got WM_QUIT
#endif // wxUSE_THREADS
// Process the message
- if (!ProcessMessage((WXMSG *)&svCurrentMsg) )
+ if (!ProcessMessage((WXMSG *)&svCurrentMsg))
{
::WinDispatchMsg(vHabmain, (PQMSG)&svCurrentMsg);
}
#endif // wxUSE_THREADS
while (!Pending() && ProcessIdle())
{
+// wxUsleep(10000);
}
DoMessage();
}
WXMSG* pWxmsg
)
{
- QMSG* vMsg = (PQMSG)pWxmsg;
- HWND hWnd = vMsg->hwnd;
+ QMSG* pMsg = (PQMSG)pWxmsg;
+ HWND hWnd = pMsg->hwnd;
wxWindow* pWndThis = wxFindWinFromHandle((WXHWND)hWnd);
wxWindow* pWnd;
// We must relay WM_MOUSEMOVE events to the tooltip ctrl if we want it to
// popup the tooltip bubbles
//
- if (pWndThis && (vMsg->msg == WM_MOUSEMOVE))
+ if (pWndThis && (pMsg->msg == WM_MOUSEMOVE))
{
wxToolTip* pToolTip = pWndThis->GetToolTip();
if (pToolTip)
pWndThis = wxFindWinFromHandle((WXHWND)hWnd);
}
+ //
+ // Try translations first; find the youngest window with
+ // a translation table.
+ //
+#if 0
+ for (pWnd = pWndThis; pWnd; pWnd = pWnd->GetParent() )
+ {
+ if (pMsg->msg == WM_CHAR)
+ if (pWnd->OS2TranslateMessage(pWxmsg))
+ return TRUE;
+ }
+#endif
//
// Anyone for a non-translation message? Try youngest descendants first.
//
}
} // end of wxWakeUpIdle
-HINSTANCE wxGetInstance()
+HAB wxGetInstance()
{
- return wxhInstance;
+ return vHabmain;
}
-void wxSetInstance(HINSTANCE hInst)
+void wxSetInstance(
+ HAB vHab
+)
{
- wxhInstance = hInst;
+ vHabmain = vHab;
}