本文主要是介绍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());
}
这篇关于26、wxWidgets小部件之wxSlider和wxSpinCtrl的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!