今天阅读代码,忽然看到一段代码是:
BEGIN_MESSAGE_MAP()
ON_BN_CLICKED(**IDOK, **OnOK)
ON_CBN_SELCHANGE(ID_COMBOX1,OnSelChange)
END_MESSAGE_MAP()
不懂是什么东东,上网一查才明白,原来和QT中的信号与槽性质一样都是用来响应**IDOK发生的信号在**OnOk函数中来处理。
从网上摘取的以上两个按钮的动作以及解释:
ON_BN_CLICKED 用户单击按钮时 ON_BN_DOUBLECLICKED 用户双击按钮时ON_CBN_SELCHANGE(ID_COMBOX1,OnSelChange)前面1个是你的COMBOX的ID,后面是1个映照函数(当combox改变时,调用这个函数)afx_msgvoidOnSelChange();//映照函数的声明
百度百科对BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()的解释
那么怎么对控件进行动态绑定呢?
使用DoDataExchange()这个函数进行动态绑定。
具体方法如下:
void DoDataExchange(CDataExchange *pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX,IDC_ET_SLINE,m_***);
DDV_MinMaxInt(pDX,m_***,0,9999);
DDX_Control(pDX,IDC_CB_PICD,m_lcPos);
...
...
...
}
想要了解更加详细的,可以去百度百科
中查看对DoDataExchange()的解释
现在也就先了解这些,其他的见到使用的时候再添加。
visual 中消息映射机制
最新推荐文章于 2022-04-22 22:57:51 发布