CreateWindowEx和cwnd::createEx和的区别是什么???

喜欢财富管理的IT人 北京信联网智 总监  2004-04-11 05:50:29
两者的参数是一致的,返回值不同,
他们和CWND::ONCREATE的关系是怎样的??
看了半天MSDN,越来越糊涂了
...全文
256 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
明白了,3q
回复
zhujianping_es 2004-04-11
However the OnCreate (Message handler for WM_CRATE )is called after CreateWindow[Ex] but before function
CWnd::Create[Ex] returns!
回复
zhujianping_es 2004-04-11
两者的参数是一致的,返回值不同,
this is because the CWnd::CreateEx 's implementation calls
CreateWindowEx API internally!
the HWND handle return by CreateWindowEx Win32 API is stored in
CWnd::m_hWnd,so it just to return the BOOL to indicate whether our Cratewindow
call is successfully executed!


他们和CWND::ONCREATE的关系是怎样的??
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RE..)
is called before Windows calls CreateWindow[Ex] for it. So the m_hWnd is NULL then .

However the OnCreate handler for WM_CRATE is called after CCreateWindow[Ex]
CWnd::Create[Ex] returns!
回复
快乐鹦鹉 2004-04-11
CreateEx是类CWnd的创建函数,会引发OnCreate事件
CreateWindowEx是API函数,创建窗口,不会引起OnCreate事件的发生
回复
vcforever 2004-04-11
CreateWindowEx函数是操作系统的API函数,而CWnd::CreateEx是MFC对API函数CreateWindowEx函数的一层封装

OnCreate函数是窗口的WM_CREATE消息的响应函数

回复
basboy 2004-04-11
cwnd::createEx 是MFC CWnd的成员函数

必须有CWnd对象调用

比如
Cwnd mywnd;
mywnd.CreateEX()

而CreateWindowEx
是window的api函数

当然, cwnd::createEx最终是调用CreateWindowEx
来实现窗口的创建的

可以说cwnd::createEx是对 CreateWindowEx的封装

(所以他们的参数几乎一样)
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告