X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/184533062405d1eda4dd464a43e7469d7bbcc2b5..5b6ec9803a058368a1b240a22d444c7301c5715a:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index a45bf2ea6b..0f5da8a297 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -40,7 +40,7 @@ #undef LoadAccelerators #endif -#if USE_NATIVE_STATUSBAR +#if wxUSE_NATIVE_STATUSBAR #include #endif @@ -62,7 +62,7 @@ END_EVENT_TABLE() IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow) #endif -#if USE_NATIVE_STATUSBAR +#if wxUSE_NATIVE_STATUSBAR bool wxFrame::m_useNativeStatusBar = TRUE; #else bool wxFrame::m_useNativeStatusBar = FALSE; @@ -357,7 +357,7 @@ wxStatusBar *wxFrame::OnCreateStatusBar(int number, long style, wxWindowID id, { wxStatusBar *statusBar = NULL; -#if USE_NATIVE_STATUSBAR +#if wxUSE_NATIVE_STATUSBAR if (UsesNativeStatusBar()) { statusBar = new wxStatusBar95(this, id, style); @@ -421,7 +421,7 @@ void wxFrame::PositionStatusBar(void) { // native status bar positions itself if (m_frameStatusBar -#if USE_NATIVE_STATUSBAR +#if wxUSE_NATIVE_STATUSBAR && !m_frameStatusBar->IsKindOf(CLASSINFO(wxStatusBar95)) #endif ) @@ -544,7 +544,7 @@ void wxFrame::OnSysColourChanged(wxSysColourChangedEvent& event) { wxSysColourChangedEvent event2; event2.SetEventObject( m_frameStatusBar ); - m_frameStatusBar->ProcessEvent(event2); + m_frameStatusBar->GetEventHandler()->ProcessEvent(event2); } // Propagate the event to the non-top-level children @@ -590,7 +590,7 @@ void wxFrame::MSWCreate(int id, wxWindow *parent, const char *wclass, wxWindow * // Keep this in wxFrame because it saves recoding this function // in wxTinyFrame -#if USE_ITSY_BITSY +#if wxUSE_ITSY_BITSY if (style & wxTINY_CAPTION_VERT) msflags |= IBS_VERTCAPTION; if (style & wxTINY_CAPTION_HORIZ) @@ -620,18 +620,15 @@ void wxFrame::MSWCreate(int id, wxWindow *parent, const char *wclass, wxWindow * bool wxFrame::MSWOnPaint(void) { -#if WXDEBUG > 1 - wxDebugMsg("wxFrameWnd::OnPaint %d\n", handle); -#endif RECT rect; if (GetUpdateRect((HWND) GetHWND(), &rect, FALSE)) { if (m_iconized) { HICON the_icon; - if (m_icon.Ok()) - the_icon = (HICON) m_icon.GetHICON(); - if (the_icon == 0) + if (m_icon.Ok()) + the_icon = (HICON) m_icon.GetHICON(); + else the_icon = (HICON) m_defaultIcon; PAINTSTRUCT ps; @@ -677,9 +674,6 @@ WXHICON wxFrame::MSWOnQueryDragIcon(void) void wxFrame::MSWOnSize(int x, int y, WXUINT id) { -#if WXDEBUG > 1 - wxDebugMsg("wxFrameWnd::OnSize %d\n", m_hWnd); -#endif switch (id) { case SIZENORMAL: @@ -709,7 +703,7 @@ void wxFrame::MSWOnSize(int x, int y, WXUINT id) if (!m_iconized) { // forward WM_SIZE to status bar control -#if USE_NATIVE_STATUSBAR +#if wxUSE_NATIVE_STATUSBAR if (m_frameStatusBar && m_frameStatusBar->IsKindOf(CLASSINFO(wxStatusBar95))) { wxSizeEvent event(wxSize(x, y), m_frameStatusBar->GetId()); @@ -731,17 +725,11 @@ void wxFrame::MSWOnSize(int x, int y, WXUINT id) bool wxFrame::MSWOnClose(void) { -#if WXDEBUG > 1 - wxDebugMsg("wxFrameWnd::OnClose %d\n", handle); -#endif return Close(); } bool wxFrame::MSWOnCommand(WXWORD id, WXWORD cmd, WXHWND control) { -#if WXDEBUG > 1 - wxDebugMsg("wxFrameWnd::OnCommand %d\n", handle); -#endif if (cmd == 0 || cmd == 1 ) // Can be either a menu command or an accelerator. { // In case it's e.g. a toolbar. @@ -804,7 +792,7 @@ bool wxFrame::MSWTranslateMessage(WXMSG* pMsg) void wxFrame::OnSize(wxSizeEvent& event) { // if we're using constraints - do use them - #if USE_CONSTRAINTS + #if wxUSE_CONSTRAINTS if ( GetAutoLayout() ) { Layout(); return; @@ -850,9 +838,6 @@ void wxFrame::OnActivate(wxActivateEvent& event) if (!child->IsKindOf(CLASSINFO(wxFrame)) && !child->IsKindOf(CLASSINFO(wxDialog))) { -#if WXDEBUG > 1 - wxDebugMsg("wxFrame::OnActivate: about to set the child's focus.\n"); -#endif child->SetFocus(); return; } @@ -869,6 +854,8 @@ void wxFrame::OnCloseWindow(wxCloseEvent& event) { this->Destroy(); } + else + event.Veto(TRUE); } bool wxFrame::OnClose(void) @@ -970,6 +957,30 @@ wxPoint wxFrame::GetClientAreaOrigin() const return pt; } +void wxFrame::ScreenToClient(int *x, int *y) const +{ + wxWindow::ScreenToClient(x, y); + + // We may be faking the client origin. + // So a window that's really at (0, 30) may appear + // (to wxWin apps) to be at (0, 0). + wxPoint pt(GetClientAreaOrigin()); + *x -= pt.x; + *y -= pt.y; +} + +void wxFrame::ClientToScreen(int *x, int *y) const +{ + // We may be faking the client origin. + // So a window that's really at (0, 30) may appear + // (to wxWin apps) to be at (0, 0). + wxPoint pt1(GetClientAreaOrigin()); + *x += pt1.x; + *y += pt1.y; + + wxWindow::ClientToScreen(x, y); +} + wxToolBar* wxFrame::CreateToolBar(long style, wxWindowID id, const wxString& name) { wxCHECK_MSG( m_frameToolBar == NULL, FALSE, @@ -1026,7 +1037,6 @@ void wxFrame::PositionToolBar(void) // propagate our state change to all child frames void wxFrame::IconizeChildFrames(bool bIconize) { - wxWindow *child = NULL; for ( wxNode *node = GetChildren()->First(); node; node = node->Next() ) { wxWindow *win = (wxWindow *)node->Data(); if ( win->IsKindOf(CLASSINFO(wxFrame)) ) {