====DSK 请教HWND 是什么数据类型?===

sd561879 2012-09-17 09:15:30
#ifndef WIN_INTERNAL
DECLARE_HANDLE (HWND);
DECLARE_HANDLE (HHOOK);
#ifdef WINABLE
DECLARE_HANDLE (HEVENT);
#endif

#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name


-------------我没看明白它到底是什么类型
但是能把hwnd=CreateWindow("ZZ2012","我做的",WS_OVERLAPPEDWINDOW,
400,400,600,400,NULL,NULL,hInstance,NULL);

我的MSDN查询不到CreateWindow函数的返回类型 hwnd的也查询不到 看VC6的转到xxx的定义转到上面的代码看不懂了,能教教我么
最后它是什么类型?
...全文
915 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-01-31
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
「已注销」 2012-09-24
  • 打赏
  • 举报
回复
通常模式下:
#define VOID void
typedef VOID *LPVOID;
typedef LPVOID HANDLE;
typedef HANDLE HWND;
STRICT 模式:
struct HWND__ { int unused; }; typedef struct HWND__ *HWND;
struct HFONT__ { int unused; }; typedef struct HFONT__ *HFONT;

通常情况下,将 HWND、HBRUSH、HFONT 等替换为 HANDLE 是不会有问题的,因为他们是同一个类型定义出来的。而 STRCIT 宏定义后,这些句柄类型分别被定义为不同的结构体指针(尽管这些结构体可能不存在),只是为了严格检查类型类型。实际上他不管被定义为啥类型类型都是不重要,反正你不知道内部结构也不需要知道。
「已注销」 2012-09-19
  • 打赏
  • 举报
回复
其实在头文件中你看到的是啥类型都不重要,你自己想把它定义为啥类型也都可以,反正传进去给操作系统后内部的结构你是不知道也看不到的。
shen_wei 2012-09-18
  • 打赏
  • 举报
回复
窗口句柄。。
schlafenhamster 2012-09-18
  • 打赏
  • 举报
回复
窗口句柄 类型void*
其实是一个结构,微软保密,应该包含窗口属性,位置,窗口DC,等等。
凡是通过hWnd可以等等的东西,都在这个结构中。
Eleven 2012-09-17
  • 打赏
  • 举报
回复
窗口句柄~句柄的数据结构MS未公开~

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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