MFC的CEdit和CSpinControl组合实现数字上下滚动详解

引言

查找了一些有关这方面的资料,都不很全面;有的说要重载CEdit等控件,甚至有直接说在MFC上无法实现,感觉微软应该没有这么烂吧。后来终于在国外网站找到了(https://www.tutorialspoint.com/mfc/mfc_spin_button.htm)。现在把这块知识整理完整,以方便大家借鉴。

第一步:设置Resource

在Resource里建立一个Dialog,拖入CEdit(ID为IDC_EDIT),之后拖入CSpinControl到CEdit的右侧;

第二步:设置控件属性

编辑CEdit的属性,设置Number为True;设置CSpinControl的Auto Buddy和Set Buddy Integer均为True。

第三步:使用代码将CEdit和CSpinControl绑定

基于CSpinControl建立控件变量【m_spin】,在该Dialog的Class的OnInitDialog里设置如下代码:

    // 设置范围
	m_spinBtnStartSpeed.SetRange(-10, 10);
	// 设置初始值
	GetDlgItem(IDC_EDIT_START_SPEED)->SetWindowText(L"0");
	// 绑定伙伴控件
	m_spinBtnStartSpeed.SetBuddy(GetDlgItem(IDC_EDIT_START_SPEED));

以上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章