CWnd类的对象和Windows窗口之间的关系

来源:互联网 发布:淘宝商城服务协议 编辑:程序博客网 时间:2024/04/30 17:18

CWnd类提供了微软基础类库中所有窗口类的基本功能。

一,CWnd对象与Windows的窗口之间的区别:

      1,CWnd对象是由CWnd的构造函数和析构函数创建和销毁的。

      2,Windows的窗口是Windows的一种内部数据结构,它是由CWnd的Create成员函数创建的,而由CWnd的虚拟析构函数销毁。

      3,DestroyWindow函数销毁Windows的窗口,但是不销毁对象。

 

二,CWnd类和消息映射机制隐藏了WndProc函数。接收到的Windows通知消息通过消息映射被自动发送到适当的CWnd

OnMessage成员函数。你可以在派生类中重载OnMessage成员函数以处理成员的特定消息。

CWnd类同时还使你能够为应用程序创建Windows的子窗口。先从CWnd继承一个类,然后在派生类中加入成员变量以保

与你的应用程序有关的数据。在派生类中实现消息处理成员函数和消息映射,以指定当消息被发送到窗口时应该如

何动作。

三,在微软基础类库中,从CWnd派生了许多其它类以提供特定的窗口类型  CFrameWnd,CMDIFrameWnd,CMDIChildWnd,CView和CDialog。被用来进一步派生。

从CWnd派生的控件类,如CButton,可以被直接使用,也可以被进一步派生出其它类来