CreateWindow 的最后一个参数的问题

红烧蹄膀饭 2008-07-13 05:01:19
HWND CreateWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HANDLE hlnstance,LPVOID lpParam);

/*
关于最后一个参数的定义是--lpParam:指向一个值的指针,该值传递给窗口 WM_CREATE消息。该值通过在IParam参数中的CREATESTRUCT结构传递,调用的时候大概是这样的:(CMyWnd*)((LPCREATESTRUCT)lParam)->lpCreateParams;
附值时是直接指向窗体指针:lpParam = this,而调出的时候却变成了一个结构的指针,指向lpCreateParams(这才是窗体的指针)为什么??是不是有什么隐藏的过程呀
*/
...全文
201 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
正在学API
ollydbg23 2008-07-15
  • 打赏
  • 举报
回复
你将的是windows api函数,还是 MFC 函数,我有点看不懂,中文解释也不太看得懂。。
红烧蹄膀饭 2008-07-15
  • 打赏
  • 举报
回复
this 即所创建应用程序对象实例 即theApp
不知道对不对 这个解释有点深 可能不是你所要的
不过每个类中 均会暗自生成THIS代码 以指向类本身
-------------------------------------------
先看清问题哦,另外this是调用这个方法的对象,这个方法是在framewnd里面,应该是framewnd对象
lily604 2008-07-14
  • 打赏
  • 举报
回复
lpParam 是消息参数,用来确定把消息传给哪个窗口
矛盾博弈 2008-07-13
  • 打赏
  • 举报
回复
this 即所创建应用程序对象实例 即theApp
不知道对不对 这个解释有点深 可能不是你所要的
不过每个类中 均会暗自生成THIS代码 以指向类本身
dbger 2008-07-13
  • 打赏
  • 举报
回复
MSDN:

lpParam
[in] Pointer to a value to be passed to the window through the CREATESTRUCT structure passed in the lpParam parameter the WM_CREATE message. If an application calls CreateWindow to create a multiple-document interface (MDI) client window, lpParam must point to a CLIENTCREATESTRUCT structure.
dbger 2008-07-13
  • 打赏
  • 举报
回复
LZ说的是MFC程序?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧