为了做好这个小应用程序,从一月份开始看C++,再学MFC,一路摸爬滚打,总算搞清楚点眉目了。
有几点要注意
1.在MFC中程序执行过程的顺序 :消息响应-->消息映射-->消息响应函数的实现。这中间有一个环节没有处理好,就会有问题。所以在做每一项的操作时候,心中都要有这样的一个过程,需要系统化,有始有终。
2。在框架程序的运行过程中,执行是有顺序的,暂时还不会DEBUG跟踪程序的运行:(。。。。过几天要好好搞一搞这个。在初始化的过程中,程序的执行有顺序,要注意安排,比如下面这段,如果这样安排,如果控制卡初始化出错,后面红色的那段初始化程序将不会执行,所以要安排好。
CString str;
int err=ssp2_initial(); //初始化控制卡
if (err==0)
{
str.Format("初始化失败,错误码:%d.",err); //初始化失败
AfxMessageBox(str);
return false;
}
for (int i=0;i<4;i++)
{
ssp2_set_current_card(card_numb[i]);
ssp2_set_svon(axis_numb[i], svn_log[i]);
ssp2_set_move_ratio(axis_numb[i], run_ratio[i]);
ssp2_set_out_mode (axis_numb[i], out_mode[i]);
ssp2_set_alm(axis_numb[i], alm_log[i], 0);
}
m_xslider.SetRange(-50,50,TRUE);//设置滑动条范围
m_xslider.SetTicFreq(10);
m_xslider.SetPos(0);//设置滑动条位置
m_yslider.SetRange(-50,50,TRUE);
m_yslider.SetTicFreq(10);
m_yslider.SetPos(0);
m_zslider.SetRange(-50,50,TRUE);
m_zslider.SetTicFreq(10);
m_zslider.SetPos(0);