X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4286a5b59579f09c014fd81683732cd8609cfe9f..c3b177ae6310ed80f054ae227513ef681f9c3dad:/include/wx/msw/window.h diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 8349de73e3..fd873efbde 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -49,6 +49,7 @@ enum // --------------------------------------------------------------------------- // wxWindow declaration for MSW // --------------------------------------------------------------------------- + class WXDLLEXPORT wxWindow : public wxWindowBase { DECLARE_DYNAMIC_CLASS(wxWindow); @@ -110,7 +111,7 @@ public: const wxFont *theFont = (const wxFont *) NULL) const; - virtual bool PopupMenu( wxMenu *menu, int x, int y ); + virtual bool DoPopupMenu( wxMenu *menu, int x, int y ); virtual void SetScrollbar( int orient, int pos, int thumbVisible, int range, bool refresh = TRUE ); @@ -178,14 +179,11 @@ public: // event handlers // -------------- + + void OnSetFocus(wxFocusEvent& event); void OnEraseBackground(wxEraseEvent& event); void OnIdle(wxIdleEvent& event); - // a window may have a default button - // TODO move into wxPanel and/or wxFrame - wxButton *GetDefaultItem() const { return m_btnDefault; } - void SetDefaultItem(wxButton *btn) { m_btnDefault = btn; } - public: // For implementation purposes - sometimes decorations make the client area // smaller @@ -202,13 +200,14 @@ public: WXFARPROC MSWGetOldWndProc() const { return m_oldWndProc; } void MSWSetOldWndProc(WXFARPROC proc) { m_oldWndProc = proc; } - wxWindow *FindItem(int id) const; + wxWindow *FindItem(long id) const; wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = FALSE) const; // Make a Windows extended style from the given wxWindows window style - virtual WXDWORD MakeExtendedStyle(long style, bool eliminateBorders = TRUE); + static WXDWORD MakeExtendedStyle(long style, + bool eliminateBorders = TRUE); // Determine whether 3D effects are wanted - virtual WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D); + WXDWORD Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D) const; // MSW only: TRUE if this control is part of the main control virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; }; @@ -216,12 +215,12 @@ public: // returns TRUE if the window has been created bool MSWCreate(int id, wxWindow *parent, - const char *wclass, + const wxChar *wclass, wxWindow *wx_win, - const char *title, + const wxChar *title, int x, int y, int width, int height, WXDWORD style, - const char *dialog_template = NULL, + const wxChar *dialog_template = NULL, WXDWORD exendedStyle = 0); virtual bool MSWCommand(WXUINT param, WXWORD id); @@ -301,12 +300,12 @@ public: bool HandleSysCommand(WXWPARAM wParam, WXLPARAM lParam); bool HandleCtlColor(WXHBRUSH *hBrush, - WXHDC hdc, - WXHWND hWnd, - WXUINT nCtlColor, - WXUINT message, - WXWPARAM wParam, - WXLPARAM lParam); + WXHDC hdc, + WXHWND hWnd, + WXUINT nCtlColor, + WXUINT message, + WXWPARAM wParam, + WXLPARAM lParam); bool HandlePaletteChanged(WXHWND hWndPalChange); bool HandleQueryNewPalette(); @@ -390,7 +389,8 @@ protected: WXHMENU m_hMenu; // Menu, if any - wxButton *m_btnDefault; + // the return value of WM_GETDLGCODE handler + long m_lDlgCode; // implement the base class pure virtuals virtual void DoClientToScreen( int *x, int *y ) const; @@ -403,6 +403,12 @@ protected: int sizeFlags = wxSIZE_AUTO); virtual void DoSetClientSize(int width, int height); + // move the window to the specified location and resize it: this is called + // from both DoSetSize() and DoSetClientSize() and would usually just call + // ::MoveWindow() except for composite controls which will want to arrange + // themselves inside the given rectangle + virtual void DoMoveWindow(int x, int y, int width, int height); + #if wxUSE_TOOLTIPS virtual void DoSetToolTip( wxToolTip *tip ); #endif // wxUSE_TOOLTIPS