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

📄 barholder.h

📁 非常好用的可移植的多平台C/C++源代码编辑器
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////
// Name:        wx/wxbarholder.h
// Purpose:     wxBarHolder class
// Author:      Mark McCormack
// Modified by:
// Created:     25/05/05
// RCS-ID:
// Copyright:
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _WX_BARHOLDER_H_
#define _WX_BARHOLDER_H_

// wxWindows
#include <wx/dockit_defs.h>
#include <wx/menu.h>
#include <wx/toolbar.h>
#include <wx/frame.h>
#include <wx/laywin.h>

class wxGripWindow;
class wxSlideBar;

#define wxBF_EXPAND_X   0x01
#define wxBF_EXPAND_Y   0x02
#define wxBF_DEFAULT    0x00

// ----------------------------------------------------------------------------
// wxBarHolder control
// ----------------------------------------------------------------------------

class WXDOCKIT_DECLSPEC wxBarHolder : public wxWindow
{
public:
    // Default constructor
    wxBarHolder() {
        Init();
    }

    // Normal constructor
    wxBarHolder::wxBarHolder( wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("barholder") ) {
        Init();

        Create(parent, id, pos, size, style, name);
    }

    void Init();

    bool Create( wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
        const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("barholder") );

    virtual ~wxBarHolder();

    // interface
    void AddWindow( wxWindow * pWindow, const wxString & label = wxT(""), unsigned int flags = wxBF_DEFAULT );
    void SetSlideBar( wxSlideBar * pSlideBar );
    void ShowGripper( bool state );
    void SetHeightOverride( int override );
    void SetWidthOverride( int override );
    void SetFlags( unsigned int flags );
    unsigned int GetFlags();
	wxString GetLabel();

    virtual wxSize DoGetBestSize() const;
    void UpdateSize();

    // event handlers
	void OnErase( wxEraseEvent &event );
    void OnPaint( wxPaintEvent &event );
    void OnGripBegin( wxMouseEvent &event );
    void OnGripEnd( wxMouseEvent &event );
    void OnGripMotion( wxMouseEvent &event );

private:
    wxSize getNonClientSize() const;
    wxSize getClientBestSize( wxWindow * pClient ) const;

private:
    wxSlideBar * pSlideBar_;
    wxWindow * pOurBar_;
    wxGripWindow * pGripWindow_;
	wxString label_;

    int margin_;
    int heightOverride_;
    int widthOverride_;
    bool showGripper_;
    unsigned int flags_;
    wxSize originalSize_;
    bool moving_;

private:
    DECLARE_DYNAMIC_CLASS( wxBarHolder )
    DECLARE_EVENT_TABLE()
};

#endif
    // _WX_BARHOLDER_H_

⌨️ 快捷键说明

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