⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdig.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        wx/generic/mdig.h// Purpose:     Generic MDI (Multiple Document Interface) classes// Author:      Hans Van Leemputten// Modified by:// Created:     29/07/2002// RCS-ID:      $Id: mdig.h,v 1.23 2006/09/14 17:36:12 PC Exp $// Copyright:   (c) Hans Van Leemputten// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef _WX_MDIG_H_#define _WX_MDIG_H_// ----------------------------------------------------------------------------// headers// ----------------------------------------------------------------------------#include "wx/frame.h"#include "wx/panel.h"#include "wx/notebook.h"extern WXDLLEXPORT_DATA(const wxChar) wxStatusLineNameStr[];//-----------------------------------------------------------------------------// classes//-----------------------------------------------------------------------------class WXDLLEXPORT wxGenericMDIParentFrame;class WXDLLEXPORT wxGenericMDIClientWindow;class WXDLLEXPORT wxGenericMDIChildFrame;//-----------------------------------------------------------------------------// wxGenericMDIParentFrame//-----------------------------------------------------------------------------class WXDLLEXPORT wxGenericMDIParentFrame: public wxFrame{public:    wxGenericMDIParentFrame();    wxGenericMDIParentFrame(wxWindow *parent,                     wxWindowID winid,                     const wxString& title,                     const wxPoint& pos = wxDefaultPosition,                     const wxSize& size = wxDefaultSize,                     long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,                     const wxString& name = wxFrameNameStr);    virtual ~wxGenericMDIParentFrame();    bool Create( wxWindow *parent,                 wxWindowID winid,                 const wxString& title,                 const wxPoint& pos = wxDefaultPosition,                 const wxSize& size = wxDefaultSize,                 long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,                 const wxString& name = wxFrameNameStr );#if wxUSE_MENUS    wxMenu* GetWindowMenu() const { return m_pWindowMenu; };    void SetWindowMenu(wxMenu* pMenu);    virtual void SetMenuBar(wxMenuBar *pMenuBar);#endif // wxUSE_MENUS    void SetChildMenuBar(wxGenericMDIChildFrame *pChild);    virtual bool ProcessEvent(wxEvent& event);    wxGenericMDIChildFrame *GetActiveChild() const;    inline void SetActiveChild(wxGenericMDIChildFrame* pChildFrame);    wxGenericMDIClientWindow *GetClientWindow() const;    virtual wxGenericMDIClientWindow *OnCreateClient();    virtual void Cascade() { /* Has no effect */ }    virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL) { }    virtual void ArrangeIcons() { /* Has no effect */ }    virtual void ActivateNext();    virtual void ActivatePrevious();protected:    wxGenericMDIClientWindow   *m_pClientWindow;    wxGenericMDIChildFrame     *m_pActiveChild;#if wxUSE_MENUS    wxMenu              *m_pWindowMenu;    wxMenuBar           *m_pMyMenuBar;#endif // wxUSE_MENUSprotected:    void Init();#if wxUSE_MENUS    void RemoveWindowMenu(wxMenuBar *pMenuBar);    void AddWindowMenu(wxMenuBar *pMenuBar);    void DoHandleMenu(wxCommandEvent &event);#endif // wxUSE_MENUS    virtual void DoGetClientSize(int *width, int *height) const;private:    DECLARE_EVENT_TABLE()    DECLARE_DYNAMIC_CLASS(wxGenericMDIParentFrame)};//-----------------------------------------------------------------------------// wxGenericMDIChildFrame//-----------------------------------------------------------------------------class WXDLLEXPORT wxGenericMDIChildFrame: public wxPanel{public:    wxGenericMDIChildFrame();    wxGenericMDIChildFrame( wxGenericMDIParentFrame *parent,                     wxWindowID winid,                     const wxString& title,                     const wxPoint& pos = wxDefaultPosition,                     const wxSize& size = wxDefaultSize,                     long style = wxDEFAULT_FRAME_STYLE,                     const wxString& name = wxFrameNameStr );    virtual ~wxGenericMDIChildFrame();    bool Create( wxGenericMDIParentFrame *parent,                 wxWindowID winid,                 const wxString& title,                 const wxPoint& pos = wxDefaultPosition,                 const wxSize& size = wxDefaultSize,                 long style = wxDEFAULT_FRAME_STYLE,                 const wxString& name = wxFrameNameStr );#if wxUSE_MENUS    virtual void SetMenuBar( wxMenuBar *menu_bar );    virtual wxMenuBar *GetMenuBar() const;#endif // wxUSE_MENUS    virtual void SetTitle(const wxString& title);    virtual wxString GetTitle() const;    virtual void Activate();#if wxUSE_STATUSBAR    // no status bars    virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number) = 1,                                        long WXUNUSED(style) = 1,                                        wxWindowID WXUNUSED(winid) = 1,                                        const wxString& WXUNUSED(name) = wxEmptyString)      { return (wxStatusBar*)NULL; }    virtual wxStatusBar *GetStatusBar() const { return (wxStatusBar*)NULL; }    virtual void SetStatusText( const wxString &WXUNUSED(text), int WXUNUSED(number)=0 ) {}    virtual void SetStatusWidths( int WXUNUSED(n), const int WXUNUSED(widths_field)[] ) {}#endif    // no size hints    virtual void DoSetSizeHints( int WXUNUSED(minW),                               int WXUNUSED(minH),                               int WXUNUSED(maxW) = wxDefaultCoord,                               int WXUNUSED(maxH) = wxDefaultCoord,                               int WXUNUSED(incW) = wxDefaultCoord,                               int WXUNUSED(incH) = wxDefaultCoord) {}#if wxUSE_TOOLBAR    // no toolbar bars    virtual wxToolBar* CreateToolBar( long WXUNUSED(style),                                       wxWindowID WXUNUSED(winid),                                       const wxString& WXUNUSED(name) )        { return (wxToolBar*)NULL; }    virtual wxToolBar *GetToolBar() const { return (wxToolBar*)NULL; }#endif    // no icon    void SetIcon( const wxIcon& WXUNUSED(icon) ) { }    void SetIcons( const wxIconBundle& WXUNUSED(icons) ) { }    // no maximize etc    virtual void Maximize( bool WXUNUSED(maximize) = true) { /* Has no effect */ }    virtual void Restore() { /* Has no effect */ }    virtual void Iconize(bool WXUNUSED(iconize)  = true) { /* Has no effect */ }    virtual bool IsMaximized() const { return true; }    virtual bool IsIconized() const { return false; }    virtual bool ShowFullScreen(bool WXUNUSED(show), long WXUNUSED(style)) { return false; }    virtual bool IsFullScreen() const { return false; }    virtual bool IsTopLevel() const { return false; }    void OnMenuHighlight(wxMenuEvent& event);    void OnActivate(wxActivateEvent& event);    // The next 2 are copied from top level...    void OnCloseWindow(wxCloseEvent& event);    void OnSize(wxSizeEvent& event);    void SetMDIParentFrame(wxGenericMDIParentFrame* parentFrame);    wxGenericMDIParentFrame* GetMDIParentFrame() const;protected:    wxGenericMDIParentFrame *m_pMDIParentFrame;    wxRect            m_MDIRect;    wxString          m_Title;#if wxUSE_MENUS    wxMenuBar        *m_pMenuBar;#endif // wxUSE_MENUSprotected:    void Init();    virtual void DoMoveWindow(int x, int y, int width, int height);    // This function needs to be called when a size change is confirmed,    // we needed this function to prevent any body from the outside    // changing the panel... it messes the UI layout when we would allow it.    void ApplyMDIChildFrameRect();private:    DECLARE_DYNAMIC_CLASS(wxGenericMDIChildFrame)    DECLARE_EVENT_TABLE()    friend class wxGenericMDIClientWindow;};//-----------------------------------------------------------------------------// wxGenericMDIClientWindow//-----------------------------------------------------------------------------class WXDLLEXPORT wxGenericMDIClientWindow: public wxNotebook{public:    wxGenericMDIClientWindow();    wxGenericMDIClientWindow( wxGenericMDIParentFrame *parent, long style = 0 );    virtual ~wxGenericMDIClientWindow();    virtual bool CreateClient( wxGenericMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL );    virtual int SetSelection(size_t nPage);protected:    void PageChanged(int OldSelection, int newSelection);    void OnPageChanged(wxNotebookEvent& event);    void OnSize(wxSizeEvent& event);private:    DECLARE_DYNAMIC_CLASS(wxGenericMDIClientWindow)    DECLARE_EVENT_TABLE()};/* * Define normal wxMDI classes based on wxGenericMDI */#ifndef wxUSE_GENERIC_MDI_AS_NATIVE#if defined(__WXUNIVERSAL__) || defined(__WXPM__) || defined(__WXCOCOA__)#define wxUSE_GENERIC_MDI_AS_NATIVE   1#else#define wxUSE_GENERIC_MDI_AS_NATIVE   0#endif#endif // wxUSE_GENERIC_MDI_AS_NATIVE#if wxUSE_GENERIC_MDI_AS_NATIVEclass wxMDIChildFrame ;//-----------------------------------------------------------------------------// wxMDIParentFrame//-----------------------------------------------------------------------------class WXDLLEXPORT wxMDIParentFrame: public wxGenericMDIParentFrame{public:    wxMDIParentFrame() {}    wxMDIParentFrame(wxWindow *parent,                     wxWindowID winid,                     const wxString& title,                     const wxPoint& pos = wxDefaultPosition,                     const wxSize& size = wxDefaultSize,                     long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,                     const wxString& name = wxFrameNameStr)         :wxGenericMDIParentFrame(parent, winid, title, pos, size, style, name)     {     }    wxMDIChildFrame * GetActiveChild() const ;private:    DECLARE_DYNAMIC_CLASS(wxMDIParentFrame)};//-----------------------------------------------------------------------------// wxMDIChildFrame//-----------------------------------------------------------------------------class WXDLLEXPORT wxMDIChildFrame: public wxGenericMDIChildFrame{public:    wxMDIChildFrame() {}    wxMDIChildFrame( wxGenericMDIParentFrame *parent,                     wxWindowID winid,                     const wxString& title,                     const wxPoint& pos = wxDefaultPosition,                     const wxSize& size = wxDefaultSize,                     long style = wxDEFAULT_FRAME_STYLE,                     const wxString& name = wxFrameNameStr )         :wxGenericMDIChildFrame(parent, winid, title, pos, size, style, name)     {     }private:    DECLARE_DYNAMIC_CLASS(wxMDIChildFrame)};//-----------------------------------------------------------------------------// wxMDIClientWindow//-----------------------------------------------------------------------------class WXDLLEXPORT wxMDIClientWindow: public wxGenericMDIClientWindow{public:    wxMDIClientWindow() {}    wxMDIClientWindow( wxGenericMDIParentFrame *parent, long style = 0 )        :wxGenericMDIClientWindow(parent, style)    {    }private:    DECLARE_DYNAMIC_CLASS(wxMDIClientWindow)};#endif#endif    // _WX_MDIG_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -