HBITMAP是什么结构?
是干啥的?在哪个头文件里定义的?有人说可以去看MSDN,可是到哪里去看MSDN?怎么看?这个问题我昨天提出后几分钟就明白HBITMAP是句柄不是结构了,因此问题的重心就从...
是干啥的?
在哪个头文件里定义的?
有人说可以去看MSDN,可是到哪里去看MSDN?怎么看?
这个问题我昨天提出后几分钟就明白HBITMAP是句柄不是结构了,因此问题的重心就从HBITMAP转为MSDN。
但是MSDN的问题比较繁琐,认真回答的人要付出很多时间,因此必须大幅度提高悬赏。
我过去悬赏一向很慷慨,毕竟我有4万多分。过去悬赏200分是很常见的。但是去年开始老是有很多问题发不上去,悬赏的分也跟着白白消失。因此我只有等看到我的问题在“待完善问题”出新以后才提高悬赏,因此去年以来就几乎没有200分以上的题了。
昨天来提高悬赏,却意外发现刚才还在“待完善问题”列表中的问题消失了。因此特地去投诉,这当然不会有结果。因此我还特地到百度提问。后来知道了有个“置顶卡”。用了置顶卡以后我这个帖子重新出现,因此我今天特来提高悬赏。 展开
在哪个头文件里定义的?
有人说可以去看MSDN,可是到哪里去看MSDN?怎么看?
这个问题我昨天提出后几分钟就明白HBITMAP是句柄不是结构了,因此问题的重心就从HBITMAP转为MSDN。
但是MSDN的问题比较繁琐,认真回答的人要付出很多时间,因此必须大幅度提高悬赏。
我过去悬赏一向很慷慨,毕竟我有4万多分。过去悬赏200分是很常见的。但是去年开始老是有很多问题发不上去,悬赏的分也跟着白白消失。因此我只有等看到我的问题在“待完善问题”出新以后才提高悬赏,因此去年以来就几乎没有200分以上的题了。
昨天来提高悬赏,却意外发现刚才还在“待完善问题”列表中的问题消失了。因此特地去投诉,这当然不会有结果。因此我还特地到百度提问。后来知道了有个“置顶卡”。用了置顶卡以后我这个帖子重新出现,因此我今天特来提高悬赏。 展开
12个回答
展开全部
MSDN只笼统一句话告诉你HBITMAP是HANDLE类型.要了解内部细节,你还得自己看SDK文件.
查看你的WinDef.h文件
-------------------------------------------------------------------------------------------------
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
---------------------------------------------------------------------------------------------------------
如果定义了STRICT,那么HBITMAP类型就等于 HBITMAP__{}结构, HBITMAP同时也是HBITMAP__类型的指针.
如果没有定义STRICT, HBITMAP = HANDLE类型, HANDLE = PVOID类型.PVOID = void*类型
所以HBITMAP就等于void*类型.
要查看HBITMAP是个结构还是void*类型很简单(定义了trict,就是结构类型,否则void*)
你用void* p = static_cast<void*>( HBITMAP句柄).如果可以转换,HBITMAP就是void*.不行的话说明是结构类型.你必须用reinterpret_cast<>来转换.当然用C转换也行.
查看你的WinDef.h文件
-------------------------------------------------------------------------------------------------
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
---------------------------------------------------------------------------------------------------------
如果定义了STRICT,那么HBITMAP类型就等于 HBITMAP__{}结构, HBITMAP同时也是HBITMAP__类型的指针.
如果没有定义STRICT, HBITMAP = HANDLE类型, HANDLE = PVOID类型.PVOID = void*类型
所以HBITMAP就等于void*类型.
要查看HBITMAP是个结构还是void*类型很简单(定义了trict,就是结构类型,否则void*)
你用void* p = static_cast<void*>( HBITMAP句柄).如果可以转换,HBITMAP就是void*.不行的话说明是结构类型.你必须用reinterpret_cast<>来转换.当然用C转换也行.
更多追问追答
追问
“笼统一句话”在哪里?
追答
HBITMAP
A handle to a bitmap.
This type is declared in WinDef.h as follows:
typedef HANDLE HBITMAP;
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx
展开全部
MSDN只笼统一句话告诉你HBITMAP是HANDLE类型.要了解内部细节,你还得自己看SDK文件.
查看你的WinDef.h文件
-------------------------------------------------------------------------------------------------
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
---------------------------------------------------------------------------------------------------------
如果定义了STRICT,那么HBITMAP类型就等于 HBITMAP__{}结构, HBITMAP同时也是HBITMAP__类型的指针.
如果没有定义STRICT, HBITMAP = HANDLE类型, HANDLE = PVOID类型.PVOID = void*类型
所以HBITMAP就等于void*类型.
要查看HBITMAP是个结构还是void*类型很简单(定义了trict,就是结构类型,否则void*)
你用void* p = static_cast<void*>( HBITMAP句柄).如果可以转换,HBITMAP就是void*.不行的话说明是结构类型.你必须用reinterpret_cast<>来转换.当然用C转换也行.
查看你的WinDef.h文件
-------------------------------------------------------------------------------------------------
#ifdef STRICT
typedef void *HANDLE;
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
#else
typedef PVOID HANDLE;
#define DECLARE_HANDLE(name) typedef HANDLE name
---------------------------------------------------------------------------------------------------------
如果定义了STRICT,那么HBITMAP类型就等于 HBITMAP__{}结构, HBITMAP同时也是HBITMAP__类型的指针.
如果没有定义STRICT, HBITMAP = HANDLE类型, HANDLE = PVOID类型.PVOID = void*类型
所以HBITMAP就等于void*类型.
要查看HBITMAP是个结构还是void*类型很简单(定义了trict,就是结构类型,否则void*)
你用void* p = static_cast<void*>( HBITMAP句柄).如果可以转换,HBITMAP就是void*.不行的话说明是结构类型.你必须用reinterpret_cast<>来转换.当然用C转换也行.
追问
这个问题不是5天前就选出满意答案了吗?
你怎么还能够回答这个问题呢?
我怎么就没办法回答那些已经选择满意答案的问题呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
位图文件句柄(本身是一个句柄,没有结构)
定义在WINDEF.H
MSDN是VC、VS的帮助文件,需要下载安装。学会看MSDN非常重要。
定义在WINDEF.H
MSDN是VC、VS的帮助文件,需要下载安装。学会看MSDN非常重要。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指向Bitmap的指针
MSDN是编程的参考文档 微软官方有下载 安装之后 在索引里搜索就行
MSDN不会用就无法做Windows开发
MSDN是编程的参考文档 微软官方有下载 安装之后 在索引里搜索就行
MSDN不会用就无法做Windows开发
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在msdn搜索的功能里打这个,HBITMAP是位图格式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询