spin控件经常被用于Edit控件旁,通过点击上下来快速改变edit控件中的数值,对于简单的数值避免了重新输入的操作。主要来说就是是spin控件冠梁一个变量,同时这个变量在关联到edit控件中,同时设置updatedata(false)方法,即可实现spin控件调整edit控件的数值。
首先在spin控件上右击,添加事件处理,消息类型选择deltapos(默认),然后再自动生成的函数中添加代码:
void CDialogPolygon::OnDeltaposSpinpolygon(NMHDR *pNMHDR, LRESULT *pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
if ((pNMUpDown->iDelta < 0) && (m_PolyLineValue < 360))
m_PolyLineValue = m_PolyLineValue + 1;
if ((pNMUpDown->iDelta > 0) && (m_PolyLineValue > 3))
m_PolyLineValue = m_PolyLineValue - 1;
UpdateData (false);
*pResult = 0;
}
这是我的一个对多边形边数调整的一个spin控件的使用函数,m_PolyLineValue为关联edit控件和spin控件的变量,使二者建立了联系。