`
javababy1
  • 浏览: 1169155 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spin(旋转按钮)控件

 
阅读更多

1、旋转按钮控件

旋转按钮控件,也称为上下控件,是一对箭头按钮,用户点击它们来增加或减少某个值,比如一个滚动位置或先是在相应控件中的一个数字。

一个旋转按钮控件通常是与一个相伴的控件一起使用的,这个控件称为“伙伴窗口”。通常将一个旋转按钮控件与一个编辑控件一起使用,以提示用户进行数字输入。点击向上箭头使当前位置向最大值方向移动,而点击向下箭头则使当前位置向最小值的方向移动。

旋转按钮控件的Style属性主要有:

Alignment//控件在伙伴窗口中的位置按钮:Right(右边)Left(左边)Unattached(不相干)

Auto buddy //选中此项,自动选择一个Z-Order中的前一个窗口作为控件的伙伴窗口。

Set buddy integer //选中此项,使控件设置伙伴窗口数值,这个值可以是十进制或十六进制。

Arrow keys //选中此项,当按下向上和向下方向键时,也能增加或减少。

2、旋转按钮控件的基本操作(CSpinButtonCtrl类)

MFCCSpinButtonCtrl类封装了旋转按钮控件的各种操作函数。

SetBuddy(CWnd* pWndBuddy) //设置Spin控件的伙伴窗口

SetRange(int nLower,int nUpper) //设置Spin控件的上下限

SetPos(int nPos)//设置Spin控件的当前位置

SetAccel(int nAccel,UDACCEL* pAccel) //设置Spin控件加速度,GetAccel则为获取其加速度

3、Spin控件的通知消息

UDN_DELTAPOS //当Spin控件的当前数值要发生改变时向其父窗口发送的。

4、Spin控件使用示例

当单击旋转控件上的按钮时,相应的编辑控件值会增大或减小。其设置的一般步骤为:

(1)、在对话框中放入一个Spin控件和一个编辑控件作为Spin控件的伙伴窗口。

设置Spin控件属性:Auto buddy、Set buddy integer、Arrow keys。设置文本控件属性:Number。

(2)、用ClassWizard为Spin控件定义变量m_Spin,为编辑控件定义变量m_Edit,定义时注意要把m_Edit设置为int型。

(3)、在对话框的OnInitDialog()函数中加入语句:

BOOL CMyDlg::OnInitDialog()

{

CDialog::OnInitDialog();

m_Spin.SetBuddy( GetDlgItem( IDC_EDIT1 ) ); //设置编辑控件为Spin控件的伙伴窗口

m_Spin.SetRange( 0, 10 ); //设置数据范围为0-10

return TRUE;

}

(4)、用ClassWizard为编辑控件添加EN_CHANGE消息处理函数,再加入语句:

void CMyDlg::OnChangeEdit1()

{

m_Edit = m_Spin.GetPos(); //获取Spin控件当前值

}

源文档 <http://blog.sina.com.cn/s/blog_4de6a48a0100apb5.html>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics