在做一个上位机的时候发现一个问题,对于同一个控件,一下两种方法都可以插入事件响应函数,但是好像函数名有点不一样,不知道具体有何本质上的差别?
1,在控件上右键选择“Class Wizard”然后在Object里找到对应的ID,然后在旁边的Message里找到对应的函数,然后点击“Add Handler”
2,在控件上右键直接选择“Add Event Handler”然后选择对应的Message Type,最后添加消息响应函数
这两种方法产生的函数名稍稍有点不一样,比如
void CCOMTestDlg::OnCbnDropdownCombo1()-->Add Event方法
void CCOMTestDlg::OnDropdownCombo3()-->Class Wizard方法
两个方法似乎不能共存,比如,对于同一个combobox控件,如果用Class Wizard添加了DropDown事件函数的话,用Add Event就不能在添加同样的事件响应函数了。但这两种方法具体有什么区别目前还不是很清楚。
对于mscomm控件,推荐用Add Event方法,这样做好像可以自动产生一些代码如下:
BEGIN_EVENTSINK_MAP(CCOMTestDlg, CDialogEx)
ON_EVENT(CCOMTestDlg, IDC_MSCOMM1, 1, CCOMTestDlg::OnCommMscomm1, VTS_NONE)
ON_EVENT(CCOMTestDlg, IDC_MSCOMM2, 1, CCOMTestDlg::OnCommMscomm2, VTS_NONE)
END_EVENTSINK_MAP()
理由尚不明确。。。