1 /////////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/msw/toplevel.h 
   3 // Purpose:     wxTopLevelWindowMSW is the MSW implementation of wxTLW 
   4 // Author:      Vadim Zeitlin 
   8 // Copyright:   (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) 
   9 // Licence:     wxWindows licence 
  10 /////////////////////////////////////////////////////////////////////////////// 
  12 #ifndef _WX_MSW_TOPLEVEL_H_ 
  13 #define _WX_MSW_TOPLEVEL_H_ 
  16     #pragma interface "toplevel.h" 
  19 // ---------------------------------------------------------------------------- 
  20 // wxTopLevelWindowMSW 
  21 // ---------------------------------------------------------------------------- 
  23 class WXDLLEXPORT wxTopLevelWindowMSW 
: public wxTopLevelWindowBase
 
  26     // constructors and such 
  27     wxTopLevelWindowMSW() { Init(); } 
  29     wxTopLevelWindowMSW(wxWindow 
*parent
, 
  31                         const wxString
& title
, 
  32                         const wxPoint
& pos 
= wxDefaultPosition
, 
  33                         const wxSize
& size 
= wxDefaultSize
, 
  34                         long style 
= wxDEFAULT_FRAME_STYLE
, 
  35                         const wxString
& name 
= wxFrameNameStr
) 
  39         (void)Create(parent
, id
, title
, pos
, size
, style
, name
); 
  42     bool Create(wxWindow 
*parent
, 
  44                 const wxString
& title
, 
  45                 const wxPoint
& pos 
= wxDefaultPosition
, 
  46                 const wxSize
& size 
= wxDefaultSize
, 
  47                 long style 
= wxDEFAULT_FRAME_STYLE
, 
  48                 const wxString
& name 
= wxFrameNameStr
); 
  50     virtual ~wxTopLevelWindowMSW(); 
  52     // implement base class pure virtuals 
  53     virtual void Maximize(bool maximize 
= TRUE
); 
  54     virtual bool IsMaximized() const; 
  55     virtual void Iconize(bool iconize 
= TRUE
); 
  56     virtual bool IsIconized() const; 
  57     virtual void SetIcon(const wxIcon
& icon
); 
  58     virtual void SetIcons(const wxIconBundle
& icons 
); 
  59     virtual void Restore(); 
  61     virtual bool SetShape(const wxRegion
& region
); 
  63     virtual bool Show(bool show 
= TRUE
); 
  65     virtual bool ShowFullScreen(bool show
, long style 
= wxFULLSCREEN_ALL
); 
  66     virtual bool IsFullScreen() const { return m_fsIsShowing
; } 
  68     // wxMSW only: EnableCloseButton(FALSE) may be used to remove the "Close" 
  69     // button from the title bar 
  70     bool EnableCloseButton(bool enable 
= TRUE
); 
  72     // implementation from now on 
  73     // -------------------------- 
  76     void OnActivate(wxActivateEvent
& event
); 
  78     // called by wxWindow whenever it gets focus 
  79     void SetLastFocus(wxWindow 
*win
) { m_winLastFocused 
= win
; } 
  80     wxWindow 
*GetLastFocus() const { return m_winLastFocused
; } 
  83     // common part of all ctors 
  86     // create a new frame, return FALSE if it couldn't be created 
  87     bool CreateFrame(const wxString
& title
, 
  91     // create a new dialog using the given dialog template from resources, 
  92     // return FALSE if it couldn't be created 
  93     bool CreateDialog(const void *dlgTemplate
, 
  94                       const wxString
& title
, 
  98     // common part of Iconize(), Maximize() and Restore() 
  99     void DoShowWindow(int nShowCmd
); 
 101     // translate wxWindows flags to Windows ones 
 102     virtual WXDWORD 
MSWGetStyle(long flags
, WXDWORD 
*exstyle
) const; 
 104     // choose the right parent to use with CreateWindow() 
 105     virtual WXHWND 
MSWGetParent() const; 
 107     // is the window currently iconized? 
 110     // should the frame be maximized when it will be shown? set by Maximize() 
 111     // when it is called while the frame is hidden 
 112     bool m_maximizeOnShow
; 
 114     // Data to save/restore when calling ShowFullScreen 
 115     long                  m_fsStyle
; // Passed to ShowFullScreen 
 117     long                  m_fsOldWindowStyle
; 
 118     bool                  m_fsIsMaximized
; 
 121     // the last focused child: we restore focus to it on activation 
 122     wxWindow             
*m_winLastFocused
; 
 124     DECLARE_EVENT_TABLE() 
 125     DECLARE_NO_COPY_CLASS(wxTopLevelWindowMSW
) 
 128 // list of all frames and modeless dialogs 
 129 extern WXDLLEXPORT_DATA(wxWindowList
) wxModelessWindows
; 
 131 #endif // _WX_MSW_TOPLEVEL_H_