谁给我解释一下CWnd::Create是怎么用的?
msdn里边有,但是我没看明白,那位大虾给我翻译一下?把函数原型里的参数说明白就行,最好举个例子 先谢谢了...
msdn里边有,但是我没看明白,那位大虾给我翻译一下?把函数原型里的参数说明白就行,最好举个例子 先谢谢了
展开
展开全部
virtual BOOL Create( LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
lpszClassName - 类名 字符串指针 必须是WNDCLASS结构 或者 赋值NULL 按系统默认
dwStyle - 窗口样式 比如有没有标题栏啊 最大化啊 等
pParentWnd - 父窗口指针 如果是最顶层窗口 此值等于NULL
nID - 资源ID 你在IDE里面创建的窗口资源ID
pContext - 相关的环境
不知道你想知道什么 解释下
CWnd是MFC窗口的基本框架 几乎所有的窗口都是从这继承得到的 因此 CWnd 是窗口类的基类 不是直接拿来用的 也就是很少 CWnd MainWnd; 这样的定义 最多用到他的指针 如 CWnd *pWnd = ... (C++ 继承 相关的知识点)
为什么说他不是直接拿来用的呢 当然 可以用 甚至你可以用::CreateWindow
但是这样你要传递多少参数呢? 相当多, 违背了MFC封装的本意
拿做一个Dialog举例 一般是定义一个 CDialog dlg; 这样
查CSDN 可以看到 CDialog 继承与 CWnd
然而塔只有2个参数
BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );
MFC就是这样就简化了编程 只有指定这个窗口资源id就是了
lpszClassName - 类名 字符串指针 必须是WNDCLASS结构 或者 赋值NULL 按系统默认
dwStyle - 窗口样式 比如有没有标题栏啊 最大化啊 等
pParentWnd - 父窗口指针 如果是最顶层窗口 此值等于NULL
nID - 资源ID 你在IDE里面创建的窗口资源ID
pContext - 相关的环境
不知道你想知道什么 解释下
CWnd是MFC窗口的基本框架 几乎所有的窗口都是从这继承得到的 因此 CWnd 是窗口类的基类 不是直接拿来用的 也就是很少 CWnd MainWnd; 这样的定义 最多用到他的指针 如 CWnd *pWnd = ... (C++ 继承 相关的知识点)
为什么说他不是直接拿来用的呢 当然 可以用 甚至你可以用::CreateWindow
但是这样你要传递多少参数呢? 相当多, 违背了MFC封装的本意
拿做一个Dialog举例 一般是定义一个 CDialog dlg; 这样
查CSDN 可以看到 CDialog 继承与 CWnd
然而塔只有2个参数
BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );
MFC就是这样就简化了编程 只有指定这个窗口资源id就是了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询