MFC 绑定spin和edit

实际操作实例:

BOOL C*****Dlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();
	UDACCEL cAccel[1];
	cAccel[0].nSec = 1;
	cAccel[0].nInc = 100;

	CEdit *pEdit = (CEdit*)GetDlgItem(Edit控件ID);//此处可以直接设置edit的控制变量
	m_FLOWDlgSpin.SetBuddy(pEdit);//Spin Control控件的控制变量
                                  //CSpinButtonCtrl  m_FLOWDlgSpin
	m_FLOWDlgSpin.SetRange(0,0xFFF);
	m_FLOWDlgSpin.SetAccel(1,cAccel);
	return TRUE;  
}

void *****Dlg::OnBnClickedOk()
{
	UpdateData(TRUE);
	if (  m_sFlow == 0 )
	{
		CEdit* pEdit = (CEdit*)GetDlgItem(Edit控件ID);
		pEdit->SetFocus();
		pEdit->SetSel(0,-1);
		return;
	}
	CDialogEx::OnOK();
}

 

附相关参考:

/*************************************************************一*******************************************************************/

1、绑定spin和edit

m_Spin.SetBuddy(GetDlgItem(m_Edit1)); 
m_Spin.SetRange(0,100);

2、实现数值的增减

双击控件添加消息

void CAlarm::OnDeltaposSpin5(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
UpdateData(true);
CString ss;
if(pNMUpDown->iDelta == -1) // 如果此值为-1 , 说明点击了Spin的往下的箭头
{
double a;
a=wcstod(m_Edit1,NULL)-1;
ss.Format(_T("%.1f"),a);
}
else if(pNMUpDown->iDelta == 1) // 如果此值为1, 说明点击了Spin的往上的箭头
{
double a;
a=wcstod(m_Edit1,NULL)+1;
ss.Format(_T("%.1f"),a);
}
m_Edit1=ss;
UpdateData(false);
*pResult = 0;
}

1>首先给该控件关联一个变量

(Control类型的)m_Spin 

2>在使用前先通过属性对话框修改它的部分属性

 Alignment 属性共有3个选项Unattached,Left,Right Align,按自己的爱好选一个,决定SPIN是在右边还在左

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值