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

📄 scrthumb.h

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 H
字号:
///////////////////////////////////////////////////////////////////////////////// Name:        wx/univ/scrthumb.h// Purpose:     wxScrollThumb class// Author:      Vadim Zeitlin// Modified by:// Created:     12.02.01// RCS-ID:      $Id: scrthumb.h,v 1.11 2006/01/26 19:35:32 ABX Exp $// Copyright:   (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)// Licence:     wxWindows licence///////////////////////////////////////////////////////////////////////////////#ifndef _WX_UNIV_SCRTHUMB_H_#define _WX_UNIV_SCRTHUMB_H_// ----------------------------------------------------------------------------// wxScrollThumb is not a control but just a class containing the common// functionality of scroll thumb such as used by scrollbars, sliders and maybe// other (user) controls//// This class is similar to wxScrollThumb.// ----------------------------------------------------------------------------class WXDLLEXPORT wxControlWithThumb;class WXDLLEXPORT wxMouseEvent;class WXDLLEXPORT wxRect;class WXDLLEXPORT wxScrollTimer;#include "wx/timer.h"// ----------------------------------------------------------------------------// wxScrollThumb: an abstraction of scrollbar thumb// ----------------------------------------------------------------------------class WXDLLEXPORT wxScrollThumb{public:    enum Shaft    {        Shaft_None = -1,        Shaft_Above,    // or to the left of the thumb        Shaft_Below,    // or to the right of the thumb        Shaft_Thumb,    // on the thumb        Shaft_Max    };    // ctor requires a back pointer to wxControlWithThumb    wxScrollThumb(wxControlWithThumb *control);    // process a mouse click: will capture the mouse if the button was pressed    // on either the thumb (start dragging it then) or the shaft (start    // scrolling)    bool HandleMouse(const wxMouseEvent& event) const;    // process a mouse move    bool HandleMouseMove(const wxMouseEvent& event) const;    // dtor    ~wxScrollThumb();private:    // do we have the mouse capture?    bool HasCapture() const { return m_captureData != NULL; }    // get the coord of this event in the direction we're interested in (y for    // vertical shaft or x for horizontal ones)    wxCoord GetMouseCoord(const wxMouseEvent& event) const;    // get the position of the thumb corresponding to the current mouse    // position (can only be called while we're dragging the thumb!)    int GetThumbPos(const wxMouseEvent& event) const;    // the main control    wxControlWithThumb *m_control;    // the part of it where the mouse currently is    Shaft m_shaftPart;    // the data for the mouse capture    struct WXDLLEXPORT wxScrollThumbCaptureData *m_captureData;};// ----------------------------------------------------------------------------// wxControlWithThumb: interface implemented by controls using wxScrollThumb// ----------------------------------------------------------------------------class WXDLLEXPORT wxControlWithThumb{public:    virtual ~wxControlWithThumb() {}    // simple accessors    // ----------------    // get the controls window (used for mouse capturing)    virtual wxWindow *GetWindow() = 0;    // get the orientation of the shaft (vertical or horizontal)    virtual bool IsVertical() const = 0;    // geometry functions    // ------------------    // hit testing: return part of the shaft the point is in (or Shaft_None)    virtual wxScrollThumb::Shaft HitTest(const wxPoint& pt) const = 0;    // get the current position in pixels of the thumb    virtual wxCoord ThumbPosToPixel() const = 0;    // transform from pixel offset to the thumb logical position    virtual int PixelToThumbPos(wxCoord x) const = 0;    // callbacks    // ---------    // set or clear the specified flag in the arrow state: this function is    // responsible for refreshing the control    virtual void SetShaftPartState(wxScrollThumb::Shaft shaftPart,                                   int flag,                                   bool set = true) = 0;    // called when the user starts dragging the thumb    virtual void OnThumbDragStart(int pos) = 0;    // called while the user drags the thumb    virtual void OnThumbDrag(int pos) = 0;    // called when the user stops dragging the thumb    virtual void OnThumbDragEnd(int pos) = 0;    // called before starting to call OnPageScroll() - gives the control the    // possibility to remember its current state    virtual void OnPageScrollStart() = 0;    // called while the user keeps the mouse pressed above/below the thumb,    // return true to continue scrollign and false to stop it (e.g. because the    // scrollbar has reached the top/bottom)    virtual bool OnPageScroll(int pageInc) = 0;};#endif // _WX_UNIV_SCRTHUMB_H_

⌨️ 快捷键说明

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