VC(MFC)spin控件,即旋转控件的用法
在对话框中放入一个Editbox控件和一个Spin控件,tab顺序为3和4;设置Spin控件属性:Autobuddy、Setbuddyinteger、Arrowkeys;...
在对话框中放入一个Edit box控件和一个Spin控件,tab顺序为3和4;
设置Spin控件属性:Auto buddy、Set buddy integer、Arrow keys;
Edit Box定义变量m_Edit(int),Spin控件定义变量m_Spin(control,CSpinButtonCtrl);
OnInitDialog中加入语句m_Spin.SetRange(0,100);
Edit Box添加消息映射EN_CHANGE,
void CEx_SpinDlg::OnChangeEdit1()
{
UpdateData(TRUE);
}
就做了这么多的工作,编译通过,运行时显示Debug Assertion Failed!
如果去掉以上的UpdateData(TRUE),则可以运行,但是这样的话好像没有改变Edit Box的对应的数据,也就是没改变m_Edit,以后就不知道用户选择了什么数据。
准备添加Spin控件的UDN_DELTAPOS消息映射,但是它是在控件对应的数据改变之前产生的消息,Spin控件改变之后的数据还是得不到。
请问一下上述程序错在哪里?或者说有什么方法可以得到控件改变之后的数据呢? 展开
设置Spin控件属性:Auto buddy、Set buddy integer、Arrow keys;
Edit Box定义变量m_Edit(int),Spin控件定义变量m_Spin(control,CSpinButtonCtrl);
OnInitDialog中加入语句m_Spin.SetRange(0,100);
Edit Box添加消息映射EN_CHANGE,
void CEx_SpinDlg::OnChangeEdit1()
{
UpdateData(TRUE);
}
就做了这么多的工作,编译通过,运行时显示Debug Assertion Failed!
如果去掉以上的UpdateData(TRUE),则可以运行,但是这样的话好像没有改变Edit Box的对应的数据,也就是没改变m_Edit,以后就不知道用户选择了什么数据。
准备添加Spin控件的UDN_DELTAPOS消息映射,但是它是在控件对应的数据改变之前产生的消息,Spin控件改变之后的数据还是得不到。
请问一下上述程序错在哪里?或者说有什么方法可以得到控件改变之后的数据呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询