26、wxWidgets小部件之wxSlider和wxSpinCtrl

支持以下样式:

  • wxSL_HORIZONTAL :
    水平显示滑块(这是默认设置)。
  • wxSL_VERTICAL :
    垂直显示滑块。
  • wxSL_AUTOTICKS :
    显示刻度线。仅限 Windows。
  • wxSL_MIN_MAX_LABELS :
    显示最小、最大标签(自 wxWidgets 2.9.1 起新增)。
  • wxSL_VALUE_LABEL :
    显示值标签(自 wxWidgets 2.9.1 起新增)。
  • wxSL_LABELS :
    显示最小值、最大值和值标签(与 wxSL_VALUE_LABEL 和 wxSL_MIN_MAX_LABELS 相同)。
  • wxSL_LEFT :
    在左侧显示刻度并强制滑块垂直。
  • wxSL_RIGHT :
    在右侧显示刻度并强制滑块垂直。
  • wxSL_TOP :
    在顶部显示刻度。
  • wxSL_BOTTOM :
    在底部显示刻度(这是默认设置)。
  • wxSL_SELRANGE :
    允许用户在滑块上选择一个范围。仅限 Windows。
  • wxSL_INVERSE :
    反转滑块上的最小和最大端点。与 wxSL_SELRANGE 不兼容。

class Simple:public wxFrame
{
public:
    Simple(const wxString& title);
protected:
    void Slider_OnScroll(wxScrollEvent& event);
    void SpinCtrc_Change(wxSpinEvent& event);


    wxSlider* slider;
    wxSpinCtrl* scValue;
};

Simple::Simple(const wxString& title)
    :wxFrame(NULL,-1,title)
{
    slider = new wxSlider(this,-1,0,0,100,wxDefaultPosition,wxDefaultSize
                        ,wxSL_HORIZONTAL//水平显示;垂直显示使用wxSL_VERTICAL
                        |wxSL_LABELS//显示标签
                        |wxSL_AUTOTICKS//显示刻度线
                        |wxSL_TOP//顶部显示刻度
                        |wxSL_INVERSE//反转刻度
                          );
    slider->Bind(wxEVT_COMMAND_SLIDER_UPDATED,wxScrollEventHandler(Simple::Slider_OnScroll),this);

    slider->SetValue(50);

    scValue = new wxSpinCtrl(this,-1
                        ,""
                        ,wxPoint(-1,-1),wxSize(-1,-1)
                        ,wxALIGN_RIGHT
                        ,slider->GetMin()
                        ,slider->GetMax()
                        ,slider->GetValue()
                        );
    scValue->Bind(wxEVT_COMMAND_SPINCTRL_UPDATED,wxSpinEventHandler(Simple::SpinCtrc_Change),this);

    wxBoxSizer* szMain = new wxBoxSizer(wxVERTICAL);
    szMain->Add(scValue,0,wxEXPAND|wxALL,10);
    szMain->Add(slider,0,wxEXPAND|wxALL,10);
    SetSizer(szMain);

    Centre();
}

void Simple::Slider_OnScroll(wxScrollEvent& event)
{
    scValue->SetValue(slider->GetValue());
}
void Simple::SpinCtrc_Change(wxSpinEvent& event)
{
    slider->SetValue(scValue->GetValue());
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值