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

📄 window.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
📖 第 1 页 / 共 2 页
字号:
    // the rest are not virtual    bool HandleCreate(WXLPCREATESTRUCT cs, bool *mayCreate);    bool HandleInitDialog(WXHWND hWndFocus);    bool HandleDestroy();    bool HandlePaint();    bool HandlePrintClient(WXHDC hDC);    bool HandleEraseBkgnd(WXHDC hDC);    bool HandleMinimize();    bool HandleMaximize();    bool HandleSize(int x, int y, WXUINT flag);    bool HandleSizing(wxRect& rect);    bool HandleGetMinMaxInfo(void *mmInfo);    bool HandleShow(bool show, int status);    bool HandleActivate(int flag, bool minimized, WXHWND activate);    bool HandleCommand(WXWORD id, WXWORD cmd, WXHWND control);    bool HandleCtlColor(WXHBRUSH *hBrush, WXHDC hdc, WXHWND hWnd);    bool HandlePaletteChanged(WXHWND hWndPalChange);    bool HandleQueryNewPalette();    bool HandleSysColorChange();    bool HandleDisplayChange();    bool HandleCaptureChanged(WXHWND gainedCapture);    virtual bool HandleSettingChange(WXWPARAM wParam, WXLPARAM lParam);    bool HandleQueryEndSession(long logOff, bool *mayEnd);    bool HandleEndSession(bool endSession, long logOff);    bool HandleSetFocus(WXHWND wnd);    bool HandleKillFocus(WXHWND wnd);    bool HandleDropFiles(WXWPARAM wParam);    bool HandleMouseEvent(WXUINT msg, int x, int y, WXUINT flags);    bool HandleMouseMove(int x, int y, WXUINT flags);    bool HandleMouseWheel(WXWPARAM wParam, WXLPARAM lParam);    bool HandleChar(WXWPARAM wParam, WXLPARAM lParam, bool isASCII = false);    bool HandleKeyDown(WXWPARAM wParam, WXLPARAM lParam);    bool HandleKeyUp(WXWPARAM wParam, WXLPARAM lParam);#if wxUSE_ACCEL    bool HandleHotKey(WXWPARAM wParam, WXLPARAM lParam);#endif#ifdef __WIN32__    int HandleMenuChar(int chAccel, WXLPARAM lParam);#endif    // Create and process a clipboard event specified by type.    bool HandleClipboardEvent( WXUINT nMsg );    bool HandleQueryDragIcon(WXHICON *hIcon);    bool HandleSetCursor(WXHWND hWnd, short nHitTest, int mouseMsg);    bool HandlePower(WXWPARAM wParam, WXLPARAM lParam, bool *vetoed);    // Window procedure    virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);    // Calls an appropriate default window procedure    virtual WXLRESULT MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);    // message processing helpers    // return false if the message shouldn't be translated/preprocessed but    // dispatched normally    virtual bool MSWShouldPreProcessMessage(WXMSG* pMsg);    // return true if the message was preprocessed and shouldn't be dispatched    virtual bool MSWProcessMessage(WXMSG* pMsg);    // return true if the message was translated and shouldn't be dispatched    virtual bool MSWTranslateMessage(WXMSG* pMsg);    // called when the window is about to be destroyed    virtual void MSWDestroyWindow();    // this function should return the brush to paint the children controls    // background or 0 if this window doesn't impose any particular background    // on its children    //    // the base class version returns a solid brush if we have a non default    // background colour or 0 otherwise    virtual WXHBRUSH MSWGetBgBrushForChild(WXHDC hDC, WXHWND hWnd);    // return the background brush to use for painting the given window by    // quering the parent windows via their MSWGetBgBrushForChild() recursively    //    // hWndToPaint is normally NULL meaning this window itself, but it can also    // be a child of this window which is used by the static box and could be    // potentially useful for other transparent controls    WXHBRUSH MSWGetBgBrush(WXHDC hDC, WXHWND hWndToPaint = NULL);    // gives the parent the possibility to draw its children background, e.g.    // this is used by wxNotebook to do it using DrawThemeBackground()    //    // return true if background was drawn, false otherwise    virtual bool MSWPrintChild(WXHDC WXUNUSED(hDC), wxWindow * WXUNUSED(child))    {        return false;    }    // some controls (e.g. wxListBox) need to set the return value themselves    //    // return true to let parent handle it if we don't, false otherwise    virtual bool MSWShouldPropagatePrintChild()    {        return true;    }    // Responds to colour changes: passes event on to children.    void OnSysColourChanged(wxSysColourChangedEvent& event);    // initialize various fields of wxMouseEvent (common part of MSWOnMouseXXX)    void InitMouseEvent(wxMouseEvent& event, int x, int y, WXUINT flags);    // check if mouse is in the window    bool IsMouseInWindow() const;    // check if a native double-buffering applies for this window    virtual bool IsDoubleBuffered() const;    // synthesize a wxEVT_LEAVE_WINDOW event and set m_mouseInWindow to false    void GenerateMouseLeave();    // virtual function for implementing internal idle    // behaviour    virtual void OnInternalIdle();protected:#if wxUSE_MENUS_NATIVE    virtual bool DoPopupMenu( wxMenu *menu, int x, int y );#endif // wxUSE_MENUS_NATIVE    // the window handle    WXHWND                m_hWnd;    // the old window proc (we subclass all windows)    WXFARPROC             m_oldWndProc;    // additional (MSW specific) flags    bool                  m_mouseInWindow:1;    bool                  m_lastKeydownProcessed:1;    // the size of one page for scrolling    int                   m_xThumbSize;    int                   m_yThumbSize;    // implement the base class pure virtuals    virtual void DoClientToScreen( int *x, int *y ) const;    virtual void DoScreenToClient( int *x, int *y ) const;    virtual void DoGetPosition( int *x, int *y ) const;    virtual void DoGetSize( int *width, int *height ) const;    virtual void DoGetClientSize( int *width, int *height ) const;    virtual void DoSetSize(int x, int y,                           int width, int height,                           int sizeFlags = wxSIZE_AUTO);    virtual void DoSetClientSize(int width, int height);    virtual void DoCaptureMouse();    virtual void DoReleaseMouse();    // this simply moves/resizes the given HWND which is supposed to be our    // sibling (this is useful for controls which are composite at MSW level    // and for which DoMoveWindow() is not enough)    //    // returns true if the window move was deferred, false if it was moved    // immediately (no error return)    bool DoMoveSibling(WXHWND hwnd, int x, int y, 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 );    // process TTN_NEEDTEXT message properly (i.e. fixing the bugs in    // comctl32.dll in our code -- see the function body for more info)    bool HandleTooltipNotify(WXUINT code,                             WXLPARAM lParam,                             const wxString& ttip);#endif // wxUSE_TOOLTIPS    // the helper functions used by HandleChar/KeyXXX methods    wxKeyEvent CreateKeyEvent(wxEventType evType, int id,                              WXLPARAM lParam = 0, WXWPARAM wParam = 0) const;    // default OnEraseBackground() implementation, return true if we did erase    // the background, false otherwise (i.e. the system should erase it)    bool DoEraseBackground(WXHDC hDC);    // generate WM_CHANGEUISTATE if it's needed for the OS we're running under    //    // action should be one of the UIS_XXX constants    // state should be one or more of the UISF_XXX constants    // if action == UIS_INITIALIZE then it doesn't seem to matter what we use    // for state as the system will decide for us what needs to be set    void MSWUpdateUIState(int action, int state = 0);private:    // common part of all ctors    void Init();    // the (non-virtual) handlers for the events    bool HandleMove(int x, int y);    bool HandleMoving(wxRect& rect);    bool HandleJoystickEvent(WXUINT msg, int x, int y, WXUINT flags);    bool HandleNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);    // list of disabled children before last call to our Disable()    wxWindowList *m_childrenDisabled;    // number of calls to Freeze() minus number of calls to Thaw()    unsigned int m_frozenness;    // current defer window position operation handle (may be NULL)    WXHANDLE m_hDWP;protected:    // When deferred positioning is done these hold the pending changes, and    // are used for the default values if another size/pos changes is done on    // this window before the group of deferred changes is completed.    wxPoint     m_pendingPosition;    wxSize      m_pendingSize;private:#ifdef __POCKETPC__    bool        m_contextMenuEnabled;#endif    DECLARE_DYNAMIC_CLASS(wxWindowMSW)    DECLARE_NO_COPY_CLASS(wxWindowMSW)    DECLARE_EVENT_TABLE()};// ----------------------------------------------------------------------------// inline functions// ----------------------------------------------------------------------------#if WXWIN_COMPATIBILITY_2_4inline bool wxWindowMSW::GetUseCtl3D() const { return false; }inline bool wxWindowMSW::GetTransparentBackground() const { return false; }inline void wxWindowMSW::SetTransparent(bool WXUNUSED(t)) { }#endif // WXWIN_COMPATIBILITY_2_4// ---------------------------------------------------------------------------// global functions// ---------------------------------------------------------------------------// kbd code translationWXDLLEXPORT int wxCharCodeMSWToWX(int keySym, WXLPARAM lParam = 0);WXDLLEXPORT WXWORD wxCharCodeWXToMSW(int id, bool *IsVirtual = NULL);// window creation helper class: before creating a new HWND, instantiate an// object of this class on stack - this allows to process the messages sent to// the window even before CreateWindow() returnsclass wxWindowCreationHook{public:    wxWindowCreationHook(wxWindowMSW *winBeingCreated);    ~wxWindowCreationHook();};// ----------------------------------------------------------------------------// 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 table#if WXWIN_COMPATIBILITY_2_4WX_DECLARE_HASH(wxWindow, wxWindowList, wxWinHashTable);#elseWX_DECLARE_HASH(wxWindowMSW, wxWindowList, wxWinHashTable);#endifextern wxWinHashTable *wxWinHandleHash;#endif // _WX_WINDOW_H_

⌨️ 快捷键说明

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