visual 中消息映射机制

来源:互联网 发布:奥创有多强 知乎 编辑:程序博客网 时间:2024/05/30 04:42

今天阅读代码,忽然看到一段代码是:

 

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();//映照函数的声明

 

http://baike.baidu.com/link?url=Huj3iqs-EpipMFlNEFYHtqG-ayZTxd7H4VdogiyJUz1yXjNOpwGfJHsBY1hi3_mWm4sY4otjZfNhLIYUb12Jua

百度百科对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);

...

...

...

}

想要了解更加详细的,可以去百度百科

http://baike.baidu.com/link?url=NI_q3K5NHR3zLbknNX9XmdauLRoULicWvoysCbRlxRiquFIGCs6voF9EozxPe9_uwjS2kTwQKozPtqRSpWhqxK

中查看对DoDataExchange()的解释

现在也就先了解这些,其他的见到使用的时候再添加。

0 0
原创粉丝点击