visual 中消息映射机制

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

 

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()的解释

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值