mfc中spin控件与edit控件关联的有关问题

mfc中spin控件与edit控件关联的问题
建立一个基于对话框的MFC应用程序,包括3个控件,一个编辑控件,一个微调控件和一个滑块控件。将编辑控件IDC_EDIT1设置为微调控件IDC_SPIN1的关联控件(它们的Tab Order顺序相差1,并且微调控件的属性设置中选中了Auto buddy和Set buddy integer)。我希望把这3个控件都绑定起来,也就是让它们同步。为微调控件添加控制变量m_spin,为滑块控件添加控制变量m_slider,为编辑控件添加int型变量m_number。
在对话框的初始化函数OnInitDialog()中,添加代码:
m_spin.SetRange(0,20);
m_spin.SetPos(5);
m_spin.SetBuddy(GetDlgItem(IDC_EDIT1));
m_slider.SetRange(0,20);
m_slider.SetTicFreq(2);
m_slider.SetPos(5);
在微调控件的UDN_DELTAPOS消息响应函数OnDeltaposSpin1()中,添加代码:
m_slider.SetPos(m_spin.GetPos());
m_number=m_spin.GetPos();
UpdateData(false);
在编辑控件的EN_CHANGE消息响应函数OnChangeEdit1()中,添加代码:
UpdateData(true);
m_spin.SetPos(m_number);
m_slider.SetPos(m_number);
在滑块控件的NM_CUSTOMDRAW消息响应函数OnCustomdrawSlider1()中,添加代码:
m_spin.SetPos(m_slider.GetPos());
m_number=m_slider.GetPos();
UpdateData(false);
编译通过,但是不能运行。
主要的问题就是对于已经关联好的编辑控件与微调控件,当编辑控件中的值发生变化时,如何使微调控件的位置相应的变化。

------解决方案--------------------
你说的编译通过,不能运行,是什么意思?一运行就出错还是咋地?

------解决方案--------------------
探讨
运行就出错,弹出对话框Debug Assertion Failed.

------解决方案--------------------
探讨
我把微调控件的属性设置中勾选的Auto buddy给去掉,程序就可以运行了,但是这样就需要在对话框初始化的时候手动添加微调控件与编辑控件的关联,就是用下面的语句:
m_spin.SetBuddy(GetDlgItem(IDC_EDIT1));
那么通过微调控件的属性设置来进行关联和手动进行关联有什么区别呢?为什么前者不能将数据从edit控件传递到spin控件呢?
还有就是通过微调控件的属性设……