谁给我解释一下CWnd::Create是怎么用的?

msdn里边有,但是我没看明白,那位大虾给我翻译一下?把函数原型里的参数说明白就行,最好举个例子 先谢谢了... msdn里边有,但是我没看明白,那位大虾给我翻译一下?把函数原型里的参数说明白就行,最好举个例子 先谢谢了 展开
 我来答
gm7996
2011-07-19 · TA获得超过1199个赞
知道小有建树答主
回答量:645
采纳率:100%
帮助的人:544万
展开全部
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就是了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式