MFC如何在窗口客户区创建位图按钮

用CBitmapButton.主要是怎么关联到客户区的普通按钮控件上?... 用CBitmapButton.主要是怎么关联到客户区的普通按钮控件上? 展开
 我来答
ldzsqq
2012-07-27 · TA获得超过536个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:122万
展开全部
其实这个很简单,看MSDN也可以看到。
To create a bitmap-button control in a window's client area
1. Create one to four bitmap images for the button.
2. Construct the CBitmapButton object.
3. Call the Create function to create the Windows button control and attach it to the CBitmapButton object.
4. Call the LoadBitmaps member function to load the bitmap resources after the bitmap button is constructed.
按照上面的步骤去做, 例如下面的例子
第一步, 要有位图资源,自己新建或者导入,需要的位图至少1张,最多4张(第一张是UP,第二张是DOWN, 第三张是FOCUS, 第三张是DISABLE。其中第一张是必须要的,其他的可以不要)
第二步, 构造一个CBitmapButton的对象,这里可以定义一个类的数据成员,例如在View里定义一个 CBitmapButton m_bmpButton;
第三步, 调用CButton的Create方法去创建一个按钮控件并且与CBitmapButton类对象关联。例如可以在View类的OnInitialUpdate()这个虚函数里这么做:
m_bmpButton.Create(NULL, WS_CHILD|WS_VISIBLE|BS_OWNERDRAW, CRect(10, 10, 80, 140), this, 1000);
其中该方法的具体参数看MSDN,很简单。
第四步, 就是调用LoadBitmaps方法加载位图了。例如:
在调用了Create方法后,这样做:
m_bmpButton.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2, IDB_BITMAP3, IDB_BITMAP4);
其中四个参数就是对应的up,down, focus, disable四个状态的图片了,up的是必须的。
还可以调用m_bmpButton.SizeToContent()方法,该方法会让按钮按照位图的大小去调整大小,而不是按Create时候给的大小。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式