CWnd类

Posted liu6666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CWnd类相关的知识,希望对你有一定的参考价值。

CWnd是MFC窗口类的基类,提供了微软基础类库中所有窗口类的基本功能,如CreatWindow,ShowWindow等等

 

HWND是Windows系统中对所有窗口的一种标识,即窗口句柄。

 

CWnd类封装了窗口句柄即m_hWnd成员,提供相关窗口的操作功能,但是定义了CWnd对象并不代表窗口产生,除非你调用Create来创建一个窗口资源

 

成员变量:

技术图片

 

 

 成员方法:技术图片

 

 

 调用顺序:

技术图片

 

 

 

 

//创建并初始化与CWnd对象关联的WS_CHILD子窗口
BOOL CWnd::Create( LPCTSTR lpszClassName,
//窗口类名,NULL则使用系统预定义 LPCTSTR lpszWindowName,//窗口标题 DWORD dwStyle, //窗口样式,不能为WS_POPUP即弹出式 const RECT& rect, //窗口矩形 CWnd* pParentWnd, //父窗口 UINT nID, //窗口ID CCreateContext* pContext) //文档视图结构

 

//创建重叠窗口WS_OVERLAPPEDWINDOW,弹出窗口WS_POPUPWINDOW或子窗口WS_CHILD样式由参数dwStyle指定
BOOL CWnd::CreateEx( DWORD dwExStyle,
//扩展窗口样式 LPCTSTR lpszClassName,//窗口类别,NULL为使用系统预定义 LPCTSTR lpszWindowName, //窗口标题 DWORD dwStyle,//窗口样式,NULL为默认 int x, //x坐标 int y, //y坐标 int nWidth, //长度 int nHeight,//宽度 HWND hWndParent, //父窗口 HMENU nIDorHMenu,//标识窗口菜单 LPVOID lpParam //传至CWnd::OnCreate参数 );
//注册窗口类
LPCTSTR AFXAPI AfxRegisterWndClass(UINT nClassStyle, HCURSOR hCursor
= 0, HBRUSH hbrBackground = 0, HICON hIcon = 0);

                                    技术图片

 

以上是关于CWnd类的主要内容,如果未能解决你的问题,请参考以下文章

C++ 错误:未定义标识符“CWnd”

HWND CWND 转换

焦点不会改变嵌套 CWnd 派生类中的制表键

如何正确调用Create或者CreateEx函数生成CWnd类派生类的具有WS_POPUP属性的窗口

(转)CWnd与HWND的区别与转换

如何创建从CWnd POP UP Window派生的?