VC++ setBitmap()中加的是位图句柄。怎么获取位图句柄?

给按钮使用的... 给按钮使用的 展开
 我来答
FourQueue
2008-01-14 · TA获得超过1297个赞
知道小有建树答主
回答量:1505
采纳率:0%
帮助的人:814万
展开全部
CBitmap *mCBmp;
HBITMAP mHdlBmp;
BITMAP m_Bitmap;

mHdlBmp=(HBITMAP)LoadImage(NULL,bmp文件路 径,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
//关于LoadImage方法见后边,他返回HANDLE类型,强制转换成HBITMAP即可

mCBmp->Attach(mHdlBmp);
//这个函数把一个HANDLE对象和GDI对象关联
//这个函数是CGDIObject类成员函数,CBitmap继承此类,根据C++多态性原理,CBitmap类没有重载这个函数,将调用父类的此函数

mCBmp->GetBitmap(&m_Bitmap);
//此函数从一个BITMAP结构获得CBitmap对象

mCBmp->Detach();
//从CGDIObject类对象中分离出GDI对象,并返回HANDLE对象

以下来自MSDN
============================================

1 CBitmap: MFC类,继承于CGdiObject,主要成员函数有:

Members:
CBitmap()
CreateBitmap()
CreateBitmapIndirect()
LoadBitmap()
GetBitmap()
FromHandle()

2 HBITMAP: 一种handle类型,
The BITMAP structure defines the type, width, height, color format, and bit values of a bitmap.

3 typedef struct tagBITMAP { 一个结构
LONG bmType;
LONG bmWidth;
LONG bmHeight;
LONG bmWidthBytes;
WORD bmPlanes;
WORD bmBitsPixel;
LPVOID bmBits;
} BITMAP, *PBITMAP;

4 关于LoadImage:

Header: Winuser.h.

HANDLE LoadImage(
HINSTANCE hinst,
LPCTSTR lpszName,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuLoad
);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上岸的海龟
2008-01-16
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
用API中的HBITMAP LoadBitmap(HINSTANCE hInstance, LPCTSTR lpBitmapName);
得到bmp的句柄
然后调用HBITMAP SetBitmap( HBITMAP hBitmap );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
皇家救星1985
2008-01-14 · TA获得超过1131个赞
知道大有可为答主
回答量:1579
采纳率:0%
帮助的人:1664万
展开全部
是位图资源吗?

如果是的话试试用FindResource
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
alpswolf
2008-01-15 · TA获得超过3520个赞
知道大有可为答主
回答量:1989
采纳率:0%
帮助的人:1393万
展开全部
setBitmap()是什么?没听说过,解释下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式