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

📄 window.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
📖 第 1 页 / 共 2 页
字号:
    // there are several cases where we have virtual functions for PM    // message processing: this is because these messages often require to be    // processed in a different manner in the derived classes. For all other    // messages, however, we do *not* have corresponding OS2OnXXX() function    // and if the derived class wants to process them, it should override    // OS2WindowProc() directly.    // scroll event (both horizontal and vertical)    virtual bool OS2OnScroll( int    nOrientation                             ,WXWORD nSBCode                             ,WXWORD pos                             ,WXHWND control                            );    // owner-drawn controls need to process these messages    virtual bool OS2OnDrawItem( int               nId                               ,WXDRAWITEMSTRUCT* pItem                              );    virtual long OS2OnMeasureItem( int                  nId                                  ,WXMEASUREITEMSTRUCT* pItem                                 );    virtual void OnPaint(wxPaintEvent& rEvent);    // the rest are not virtual    bool HandleCreate( WXLPCREATESTRUCT vCs                      ,bool*            pMayCreate                     );    bool HandleInitDialog(WXHWND hWndFocus);    bool HandleDestroy(void);    bool HandlePaint(void);    bool HandleEraseBkgnd(WXHDC vDC);    bool HandleMinimize(void);    bool HandleMaximize(void);    bool HandleSize( int    nX                    ,int    nY                    ,WXUINT uFlag                   );    bool HandleGetMinMaxInfo(PSWP pMmInfo);    bool HandleShow( bool bShow                    ,int  nStatus                   );    bool HandleActivate( int    nFlag                        ,WXHWND hActivate                       );    bool HandleCommand( WXWORD nId                       ,WXWORD nCmd                       ,WXHWND hControl                      );    bool HandleSysCommand( WXWPARAM wParam                          ,WXLPARAM lParam                         );    bool HandlePaletteChanged(void);    bool HandleQueryNewPalette(void);    bool HandleSysColorChange(void);    bool HandleDisplayChange(void);    bool HandleCaptureChanged(WXHWND hBainedCapture);    bool HandleCtlColor(WXHBRUSH* hBrush);    bool HandleSetFocus(WXHWND hWnd);    bool HandleKillFocus(WXHWND hWnd);    bool HandleEndDrag(WXWPARAM wParam);    bool HandleMouseEvent( WXUINT uMsg                          ,int    nX                          ,int    nY                          ,WXUINT uFlags                         );    bool HandleMouseMove( int    nX                         ,int    nY                         ,WXUINT uFlags                        );    bool HandleChar( WXWPARAM wParam                    ,WXLPARAM lParam                    ,bool     bIsASCII = false                   );    bool HandleKeyDown( WXWPARAM wParam                       ,WXLPARAM lParam                      );    bool HandleKeyUp( WXWPARAM wParam                     ,WXLPARAM lParam                    );    bool HandleQueryDragIcon(WXHICON* phIcon);    bool HandleSetCursor( USHORT vId                         ,WXHWND hWnd                        );    bool IsMouseInWindow(void) const;    bool OS2GetCreateWindowCoords( const wxPoint& rPos                                  ,const wxSize&  rSize                                  ,int&           rnX                                  ,int&           rnY                                  ,int&           rnWidth                                  ,int&           rnHeight                                 ) const;    // Window procedure    virtual MRESULT OS2WindowProc( WXUINT   uMsg                                  ,WXWPARAM wParam                                  ,WXLPARAM lParam                                 );    // Calls an appropriate default window procedure    virtual MRESULT OS2DefWindowProc( WXUINT   uMsg                                     ,WXWPARAM wParam                                     ,WXLPARAM lParam                                    );    virtual bool    OS2ProcessMessage(WXMSG* pMsg);    virtual bool    OS2ShouldPreProcessMessage(WXMSG* pMsg);    virtual bool    OS2TranslateMessage(WXMSG* pMsg);    virtual void    OS2DestroyWindow(void);    // this function should return the brush to paint the window background    // with or 0 for the default brush    virtual WXHBRUSH OnCtlColor( WXHDC    hDC                                ,WXHWND   hWnd                                ,WXUINT   uCtlColor                                ,WXUINT   uMessage                                ,WXWPARAM wParam                                ,WXLPARAM lParam                               );    // Responds to colour changes: passes event on to children.    void OnSysColourChanged(wxSysColourChangedEvent& rEvent);    // initialize various fields of wxMouseEvent (common part of OS2OnMouseXXX)    void InitMouseEvent( wxMouseEvent& rEvent                        ,int           nX                        ,int           nY                        ,WXUINT        uFlags                       );    void MoveChildren(int nDiff);    PSWP GetSwp(void) {return &m_vWinSwp;}protected:    // PM can't create some MSW styles natively but can perform these after    // creation by sending messages    typedef enum extra_flags { kFrameToolWindow = 0x0001                              ,kVertCaption     = 0x0002                              ,kHorzCaption     = 0x0004                             } EExtraFlags;    // Some internal sizeing id's to make it easy for event handlers    typedef enum size_types { kSizeNormal                             ,kSizeMax                             ,kSizeMin                            } ESizeTypes;    // the window handle    WXHWND                          m_hWnd;    // the old window proc (we subclass all windows)    WXFARPROC                       m_fnOldWndProc;    // additional (OS2 specific) flags    bool                            m_bUseCtl3D:1; // Using CTL3D for this control    bool                            m_bBackgroundTransparent:1;    bool                            m_bMouseInWindow:1;    bool                            m_bLastKeydownProcessed:1;    bool                            m_bWinCaptured:1;    WXDWORD                         m_dwExStyle;    // the size of one page for scrolling    int                             m_nXThumbSize;    int                             m_nYThumbSize;#if wxUSE_MOUSEEVENT_HACK    // the coordinates of the last mouse event and the type of it    long                            m_lLastMouseX,    long                            m_lLastMouseY;    int                             m_nLastMouseEvent;#endif // wxUSE_MOUSEEVENT_HACK    WXHMENU                         m_hMenu; // Menu, if any    unsigned long                   m_ulMenubarId; // it's Id, if any    // the return value of WM_GETDLGCODE handler    long                            m_lDlgCode;    // implement the base class pure virtuals    virtual void DoClientToScreen( int* pX                                  ,int* pY                                 ) const;    virtual void DoScreenToClient( int* pX                                  ,int* pY                                 ) const;    virtual void DoGetPosition( int* pX                               ,int* pY                              ) const;    virtual void DoGetSize( int* pWidth                           ,int* pHeight                          ) const;    virtual void DoGetClientSize( int* pWidth                                 ,int* pHeight                                ) const;    virtual void DoSetSize( int nX                           ,int nY                           ,int nWidth                           ,int nHeight                           ,int nSizeFlags = wxSIZE_AUTO                          );    virtual void DoSetClientSize( int nWidth                                 ,int nHeight                                );    virtual void     DoCaptureMouse(void);    virtual void     DoReleaseMouse(void);    // move the window to the specified location and resize it: this is called    // from both DoSetSize() and DoSetClientSize() and would usually just call    // ::WinSetWindowPos() except for composite controls which will want to arrange    // themselves inside the given rectangle    virtual void DoMoveWindow( int nX                              ,int nY                              ,int nWidth                              ,int nHeight                             );#if wxUSE_TOOLTIPS    virtual void DoSetToolTip(wxToolTip* pTip);#endif // wxUSE_TOOLTIPS    int  GetOS2ParentHeight(wxWindowOS2* pParent);private:    // common part of all ctors    void Init(void);    // the (non-virtual) handlers for the events    bool HandleMove( int nX                    ,int nY                   );    bool HandleJoystickEvent( WXUINT uMsg                             ,int    pX                             ,int    pY                             ,WXUINT uFlags                            );    bool HandleNotify( int       nIdCtrl                      ,WXLPARAM  lParam                      ,WXLPARAM* pResult                     );    // the helper functions used by HandleChar/KeyXXX methods    wxKeyEvent CreateKeyEvent( wxEventType evType                              ,int         nId                              ,WXLPARAM    lParam = 0                              ,WXWPARAM    wParam = 0                             ) const;    wxWindowList*                   m_pChildrenDisabled;    HWND                            m_hWndScrollBarHorz;    HWND                            m_hWndScrollBarVert;    SWP                             m_vWinSwp;    DECLARE_DYNAMIC_CLASS(wxWindowOS2);    DECLARE_NO_COPY_CLASS(wxWindowOS2)    DECLARE_EVENT_TABLE()    //    // Virtual function hiding supression    //    inline virtual bool Reparent(wxWindowBase* pNewParent)    { return(wxWindowBase::Reparent(pNewParent));}}; // end of wxWindowclass wxWindowCreationHook{public:    wxWindowCreationHook(wxWindow* pWinBeingCreated);    ~wxWindowCreationHook();}; // end of CLASS wxWindowCreationHook// ---------------------------------------------------------------------------// global functions// ---------------------------------------------------------------------------// kbd code translationWXDLLEXPORT int wxCharCodeOS2ToWX(int nKeySym);WXDLLEXPORT int wxCharCodeWXToOS2( int   nId                                  ,bool* pbIsVirtual = NULL                                 );// ----------------------------------------------------------------------------// global objects// ----------------------------------------------------------------------------// notice that this hash must be defined after wxWindow declaration as it// needs to "see" its dtor and not just forward declaration#include "wx/hash.h"// pseudo-template HWND <-> wxWindow hash tableWX_DECLARE_HASH(wxWindowOS2, wxWindowList, wxWinHashTable);extern wxWinHashTable *wxWinHandleHash;#endif // _WX_WINDOW_H_

⌨️ 快捷键说明

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