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

📄 window.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
📖 第 1 页 / 共 2 页
字号:
/////////////////////////////////////////////////////////////////////////////// Name:        wx/os2/window.h// Purpose:     wxWindow class// Author:      David Webster// Modified by:// Created:     10/12/99// RCS-ID:      $Id: window.h,v 1.58 2006/08/24 15:37:25 ABX Exp $// Copyright:   (c) David Webster// Licence:     wxWindows licence/////////////////////////////////////////////////////////////////////////////#ifndef _WX_WINDOW_H_#define _WX_WINDOW_H_#define wxUSE_MOUSEEVENT_HACK 0// ---------------------------------------------------------------------------// headers// ---------------------------------------------------------------------------#define INCL_DOS#define INCL_PM#define INCL_GPI#include <os2.h>// ---------------------------------------------------------------------------// forward declarations// ---------------------------------------------------------------------------#ifndef CW_USEDEFAULT#  define  CW_USEDEFAULT ((int)0x80000000)#endif// ---------------------------------------------------------------------------// forward declarations// ---------------------------------------------------------------------------class WXDLLEXPORT wxButton;// ---------------------------------------------------------------------------// constants// ---------------------------------------------------------------------------#if WXWIN_COMPATIBILITY_2_4// they're unused by wxWidgets...enum{    wxKEY_SHIFT = 1,    wxKEY_CTRL  = 2};#endif// ---------------------------------------------------------------------------// wxWindow declaration for OS/2 PM// ---------------------------------------------------------------------------class WXDLLEXPORT wxWindowOS2 : public wxWindowBase{public:    wxWindowOS2()    {        Init();    }    wxWindowOS2( wxWindow*       pParent                ,wxWindowID      vId                ,const wxPoint&  rPos = wxDefaultPosition                ,const wxSize&   rSize = wxDefaultSize                ,long            lStyle = 0                ,const wxString& rName = wxPanelNameStr               )    {        Init();        Create( pParent               ,vId               ,rPos               ,rSize               ,lStyle               ,rName              );    }    virtual ~wxWindowOS2();    bool Create( wxWindow*       pParent                ,wxWindowID      vId                ,const wxPoint&  rPos = wxDefaultPosition                ,const wxSize&   rSize = wxDefaultSize                ,long            lStyle = 0                ,const wxString& rName = wxPanelNameStr               );    // implement base class pure virtuals    virtual void     SetLabel(const wxString& label);    virtual wxString GetLabel(void) const;    virtual void     Raise(void);    virtual void     Lower(void);    virtual bool     Show(bool bShow = true);    virtual bool     Enable(bool bEnable = true);    virtual void     SetFocus(void);    virtual void     SetFocusFromKbd(void);    virtual bool     Reparent(wxWindow* pNewParent);    virtual void     WarpPointer( int x                                 ,int y                                );    virtual void     Refresh( bool          bEraseBackground = true                             ,const wxRect* pRect = (const wxRect *)NULL                            );    virtual void     Freeze(void);    virtual void     Update(void);    virtual void     Thaw(void);    virtual void     SetWindowStyleFlag(long lStyle);    virtual bool     SetCursor(const wxCursor& rCursor);    virtual bool     SetFont(const wxFont& rFont);    virtual int      GetCharHeight(void) const;    virtual int      GetCharWidth(void) const;    virtual void     GetTextExtent( const wxString& rString                                   ,int*            pX                                   ,int*            pY                                   ,int*            pDescent = (int *)NULL                                   ,int*            pExternalLeading = (int *)NULL                                   ,const wxFont*   pTheFont = (const wxFont *)NULL                                  ) const;#if wxUSE_MENUS_NATIVE    virtual bool     DoPopupMenu( wxMenu* pMenu                                 ,int     nX                                 ,int     nY                                );#endif // wxUSE_MENUS_NATIVE    virtual void     SetScrollbar( int  nOrient                                  ,int  nPos                                  ,int  nThumbVisible                                  ,int  nRange                                  ,bool bRefresh = true                                 );    virtual void     SetScrollPos( int  nOrient                                  ,int  nPos                                  ,bool bRefresh = true                                 );    virtual int      GetScrollPos(int nOrient) const;    virtual int      GetScrollThumb(int nOrient) const;    virtual int      GetScrollRange(int nOrient) const;    virtual void     ScrollWindow( int           nDx                                  ,int           nDy                                  ,const wxRect* pRect = (wxRect *)NULL                                 );    inline HWND                   GetScrollBarHorz(void) const {return m_hWndScrollBarHorz;}    inline HWND                   GetScrollBarVert(void) const {return m_hWndScrollBarVert;};#if wxUSE_DRAG_AND_DROP    virtual void SetDropTarget(wxDropTarget* pDropTarget);#endif // wxUSE_DRAG_AND_DROP    // Accept files for dragging    virtual void DragAcceptFiles(bool bAccept);#ifndef __WXUNIVERSAL__    // Native resource loading (implemented in src/os2/nativdlg.cpp)    // FIXME: should they really be all virtual?    virtual bool LoadNativeDialog( wxWindow*   pParent                                  ,wxWindowID& vId                                 );    virtual bool LoadNativeDialog( wxWindow*       pParent                                  ,const wxString& rName                                 );    wxWindow*    GetWindowChild1(wxWindowID vId);    wxWindow*    GetWindowChild(wxWindowID vId);#endif //__WXUNIVERSAL__    // implementation from now on    // --------------------------    // simple accessors    // ----------------    WXHWND           GetHWND(void) const { return m_hWnd; }    void             SetHWND(WXHWND hWnd) { m_hWnd = hWnd; }    virtual WXWidget GetHandle(void) const { return GetHWND(); }    bool             GetUseCtl3D(void) const { return m_bUseCtl3D; }    bool             GetTransparentBackground(void) const { return m_bBackgroundTransparent; }    void             SetTransparentBackground(bool bT = true) { m_bBackgroundTransparent = bT; }    // event handlers    // --------------    void OnSetFocus(wxFocusEvent& rEvent);    void OnEraseBackground(wxEraseEvent& rEvent);    void OnIdle(wxIdleEvent& rEvent);public:    // Windows subclassing    void SubclassWin(WXHWND hWnd);    void UnsubclassWin(void);    WXFARPROC OS2GetOldWndProc(void) const { return m_fnOldWndProc; }    void OS2SetOldWndProc(WXFARPROC fnProc) { m_fnOldWndProc = fnProc; }    //    // Return true if the window is of a standard (i.e. not wxWidgets') class    //    bool IsOfStandardClass(void) const { return m_fnOldWndProc != NULL; }    wxWindow* FindItem(long lId) const;    wxWindow* FindItemByHWND( WXHWND hWnd                             ,bool   bControlOnly = false                            ) const;    // Make a Windows extended style from the given wxWidgets window style ?? applicable to OS/2??    static WXDWORD MakeExtendedStyle( long lStyle                                     ,bool bEliminateBorders = true                                    );    // PM only: true if this control is part of the main control    virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return false; };    // translate wxWidgets style flags for this control into the PM style    // and optional extended style for the corresponding native control    //    // this is the function that should be overridden in the derived classes,    // but you will mostly use OS2GetCreateWindowFlags() below    virtual WXDWORD OS2GetStyle( long     lFlags                                ,WXDWORD* pdwExstyle = NULL                               ) const;    // get the MSW window flags corresponding to wxWidgets ones    //    // the functions returns the flags (WS_XXX) directly and puts the ext    // (WS_EX_XXX) flags into the provided pointer if not NULL    WXDWORD OS2GetCreateWindowFlags(WXDWORD* pdwExflags = NULL) const        { return OS2GetStyle(GetWindowStyle(), pdwExflags); }    // get the HWND to be used as parent of this window with CreateWindow()    virtual WXHWND OS2GetParent(void) const;    // returns true if the window has been created    bool         OS2Create( PSZ            zClass                           ,const wxChar*  zTitle                           ,WXDWORD        dwStyle                           ,const wxPoint& rPos                           ,const wxSize&  rSize                           ,void*          pCtlData                           ,WXDWORD        dwExStyle                           ,bool           bIsChild                          );    virtual bool OS2Command( WXUINT uParam                            ,WXWORD nId                           );#ifndef __WXUNIVERSAL__    // Create an appropriate wxWindow from a HWND    virtual wxWindow* CreateWindowFromHWND( wxWindow* pParent                                           ,WXHWND    hWnd                                          );    // Make sure the window style reflects the HWND style (roughly)    virtual void AdoptAttributesFromHWND(void);#endif    // Setup background and foreground colours correctly    virtual void SetupColours(void);    // ------------------------------------------------------------------------    // helpers for message handlers: these perform the same function as the    // message crackers from <windowsx.h> - they unpack WPARAM and LPARAM into    // the correct parameters    // ------------------------------------------------------------------------    void UnpackCommand( WXWPARAM wParam                       ,WXLPARAM lParam,                        WXWORD*  pId                       ,WXHWND*  pHwnd                       ,WXWORD*  pCmd                      );    void UnpackActivate( WXWPARAM wParam                        ,WXLPARAM lParam                        ,WXWORD*  pState                        ,WXHWND*  pHwnd                       );    void UnpackScroll( WXWPARAM wParam                      ,WXLPARAM lParam                      ,WXWORD*  pCode                      ,WXWORD*  pPos                      ,WXHWND*  pHwnd                     );    void UnpackMenuSelect( WXWPARAM wParam                          ,WXLPARAM lParam                          ,WXWORD*  pTtem                          ,WXWORD*  pFlags                          ,WXHMENU* pHmenu                         );    // ------------------------------------------------------------------------    // internal handlers for OS2 messages: all handlers return a boolen value:    // true means that the handler processed the event and false that it didn't    // ------------------------------------------------------------------------

⌨️ 快捷键说明

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