MFC控件以什么形式提供

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:58:37
之前用过C#开发窗体软件,里面的Button和Label等控件都是以类的形式提供。而在MFC下写程序,我发现不了对应按钮的类存在。就算是对按钮添加放映函数也是以CSimpleMFC3Dlg::OnBnClickedOk()的形式添加(CSimpleMFC3Dlg是一个对话框,我对框上的“确定”按钮添加点击函数)。对此有点迷惑

MFC里面按钮也有对应的类的CButton

但是你所说的CSimpleMFC3Dlg::OnBnClickedOk()这个是对话框类里面的函数

当有鼠标点击按钮时就会产生一个鼠标点击的消息

这个消息会首先传给按钮对应的按钮对象,如果该对象对这个消息不响应(OnClick)则会传给对话框对象(例如如果不给按钮映射变量就会出现这种情况)
对话框对象会调用OnBnClickedOk()响应该消息

其实提供的这些类,其内部都是调用系统的API来完成的,因此本质都差不多..

而这些类由于其实现语言的特性和语法有所不同,因此类的使用方法也有所不同。

同时,这些不同语言的类是由不同小组开发和提供的,因此这些差异都是正常的

MFC就是封装了API的类,所以也是以类的形式提供的
CSimpleMFC3Dlg就是类,OnBnClickedOk()是它的成员方法~

也都是类的形式提供的。CSimpleMFC3Dlg就是一个对话框类。

你可以给控件添加一个关联变量来控制它。如果要处理所有消息,应该派生这个类并在消息映射表中处理。