X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cde9f08e1f2bba81294708c1d65bb869ed744e56..8162b8489765fbc579b9f60f229265ca1bfd8ab0:/src/msw/frame.cpp diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp index 6382aba2f9..03a362b615 100644 --- a/src/msw/frame.cpp +++ b/src/msw/frame.cpp @@ -17,19 +17,19 @@ #include "wx/wxprec.h" #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif #ifndef WX_PRECOMP -#include "wx/setup.h" -#include "wx/frame.h" -#include "wx/menu.h" -#include "wx/app.h" -#include "wx/utils.h" -#include "wx/dialog.h" -#include "wx/settings.h" -#include "wx/dcclient.h" -#endif + #include "wx/setup.h" + #include "wx/frame.h" + #include "wx/menu.h" + #include "wx/app.h" + #include "wx/utils.h" + #include "wx/dialog.h" + #include "wx/settings.h" + #include "wx/dcclient.h" +#endif // WX_PRECOMP #include "wx/msw/private.h" #include "wx/statusbr.h" @@ -41,7 +41,7 @@ #endif #if wxUSE_NATIVE_STATUSBAR -#include + #include #endif extern wxList wxModelessWindows; @@ -63,12 +63,12 @@ IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow) #endif #if wxUSE_NATIVE_STATUSBAR -bool wxFrame::m_useNativeStatusBar = TRUE; + bool wxFrame::m_useNativeStatusBar = TRUE; #else -bool wxFrame::m_useNativeStatusBar = FALSE; + bool wxFrame::m_useNativeStatusBar = FALSE; #endif -wxFrame::wxFrame(void) +wxFrame::wxFrame() { m_frameToolBar = NULL ; m_frameMenuBar = NULL; @@ -86,6 +86,10 @@ bool wxFrame::Create(wxWindow *parent, long style, const wxString& name) { +#if wxUSE_TOOLTIPS + m_hwndToolTip = 0; +#endif + if (!parent) wxTopLevelWindows.Append(this); @@ -122,7 +126,7 @@ bool wxFrame::Create(wxWindow *parent, return TRUE; } -wxFrame::~wxFrame(void) +wxFrame::~wxFrame() { m_isBeingDeleted = TRUE; wxTopLevelWindows.DeleteObject(this); @@ -154,7 +158,7 @@ wxFrame::~wxFrame(void) ::BringWindowToTop((HWND) GetParent()->GetHWND()); } -WXHMENU wxFrame::GetWinMenu(void) const +WXHMENU wxFrame::GetWinMenu() const { return m_hMenu; } @@ -163,7 +167,7 @@ WXHMENU wxFrame::GetWinMenu(void) const void wxFrame::GetClientSize(int *x, int *y) const { RECT rect; - GetClientRect((HWND) GetHWND(), &rect); + ::GetClientRect((HWND) GetHWND(), &rect); if ( GetStatusBar() ) { @@ -182,12 +186,12 @@ void wxFrame::GetClientSize(int *x, int *y) const // Set the client size (i.e. leave the calculation of borders etc. // to wxWindows) -void wxFrame::SetClientSize(int width, int height) +void wxFrame::DoSetClientSize(int width, int height) { HWND hWnd = (HWND) GetHWND(); RECT rect; - GetClientRect(hWnd, &rect); + ::GetClientRect(hWnd, &rect); RECT rect2; GetWindowRect(hWnd, &rect2); @@ -240,7 +244,7 @@ void wxFrame::GetPosition(int *x, int *y) const *y = point.y; } -void wxFrame::SetSize(int x, int y, int width, int height, int sizeFlags) +void wxFrame::DoSetSize(int x, int y, int width, int height, int sizeFlags) { int currentX, currentY; int x1 = x; @@ -325,14 +329,14 @@ void wxFrame::Maximize(bool maximize) m_iconized = FALSE; } -bool wxFrame::IsIconized(void) const +bool wxFrame::IsIconized() const { ((wxFrame *)this)->m_iconized = (::IsIconic((HWND) GetHWND()) != 0); return m_iconized; } // Is it maximized? -bool wxFrame::IsMaximized(void) const +bool wxFrame::IsMaximized() const { return (::IsZoomed((HWND) GetHWND()) != 0) ; } @@ -342,7 +346,7 @@ void wxFrame::SetTitle(const wxString& title) SetWindowText((HWND) GetHWND(), (const char *)title); } -wxString wxFrame::GetTitle(void) const +wxString wxFrame::GetTitle() const { GetWindowText((HWND) GetHWND(), wxBuffer, 1000); return wxString(wxBuffer); @@ -423,7 +427,7 @@ void wxFrame::SetStatusWidths(int n, const int widths_field[]) PositionStatusBar(); } -void wxFrame::PositionStatusBar(void) +void wxFrame::PositionStatusBar() { // native status bar positions itself if (m_frameStatusBar @@ -511,7 +515,7 @@ bool wxFrame::LoadAccelerators(const wxString& table) } #endif -void wxFrame::Fit(void) +void wxFrame::Fit() { // Work out max. size wxNode *node = GetChildren().First(); @@ -629,7 +633,7 @@ void wxFrame::MSWCreate(int id, wxWindow *parent, const char *wclass, wxWindow * ::PostMessage((HWND) GetHWND(), WM_SIZE, SIZE_RESTORED, MAKELPARAM(width, height)); } -bool wxFrame::MSWOnPaint(void) +bool wxFrame::MSWOnPaint() { RECT rect; if (GetUpdateRect((HWND) GetHWND(), &rect, FALSE)) @@ -648,12 +652,12 @@ bool wxFrame::MSWOnPaint(void) HDC cdc = BeginPaint((HWND) GetHWND(), &ps); // Erase background before painting or we get white background - this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)ps.hdc,0L); + this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)(LONG) ps.hdc,0L); if (the_icon) { RECT rect; - GetClientRect((HWND) GetHWND(), &rect); + ::GetClientRect((HWND) GetHWND(), &rect); int icon_width = 32; int icon_height = 32; int icon_x = (int)((rect.right - icon_width)/2); @@ -675,7 +679,7 @@ bool wxFrame::MSWOnPaint(void) return 1; } -WXHICON wxFrame::MSWOnQueryDragIcon(void) +WXHICON wxFrame::MSWOnQueryDragIcon() { if (m_icon.Ok() && (m_icon.GetHICON() != 0)) return m_icon.GetHICON(); @@ -734,7 +738,7 @@ void wxFrame::MSWOnSize(int x, int y, WXUINT id) } } -bool wxFrame::MSWOnClose(void) +bool wxFrame::MSWOnClose() { return Close(); } @@ -855,27 +859,14 @@ void wxFrame::OnActivate(wxActivateEvent& event) } } -// The default implementation for the close window event - calls -// OnClose for backward compatibility. - +// The default implementation for the close window event. void wxFrame::OnCloseWindow(wxCloseEvent& event) { - // Compatibility - if ( GetEventHandler()->OnClose() || event.GetForce()) - { - this->Destroy(); - } - else - event.Veto(TRUE); -} - -bool wxFrame::OnClose(void) -{ - return TRUE; + this->Destroy(); } // Destroy the window (delayed, if a managed window) -bool wxFrame::Destroy(void) +bool wxFrame::Destroy() { if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this); @@ -887,22 +878,22 @@ void wxFrame::OnMenuHighlight(wxMenuEvent& event) { if (GetStatusBar()) { - if (event.GetMenuId() == -1) - SetStatusText(""); - else + int menuId = event.GetMenuId(); + if ( menuId != -1 ) { wxMenuBar *menuBar = GetMenuBar(); if (menuBar) { - wxString helpString(menuBar->GetHelpString(event.GetMenuId())); - if (helpString != "") - SetStatusText(helpString); + // set status text even if the string is empty - this will at + // least remove the string from the item which was previously + // selected + SetStatusText(menuBar->GetHelpString(menuId)); } } } } -wxMenuBar *wxFrame::GetMenuBar(void) const +wxMenuBar *wxFrame::GetMenuBar() const { return m_frameMenuBar; } @@ -1015,7 +1006,7 @@ wxToolBar* wxFrame::OnCreateToolBar(long style, wxWindowID id, const wxString& n return new wxToolBar(this, id, wxDefaultPosition, wxDefaultSize, style, name); } -void wxFrame::PositionToolBar(void) +void wxFrame::PositionToolBar() { RECT rect; ::GetClientRect((HWND) GetHWND(), &rect);