mfc按钮控件加载bitmap并显示字

mfc按钮控件加载bitmap并显示字,第1张

1、在资源编辑的时候选中按钮的 Owner draw 属性,不需要选择 Bitmap 属性.

按钮右键-->Styles-->Owner draw

2、在程序中定义一弯缓个CBitmapButton成员变量。

注意:不能使用ClassWizard为按钮映射一个CButton变量,然后改为CBitmapButton,

这么做并不能将按钮直接映射为CBitmapButton类神岁的对象,反而会出现初始化错误

3、使用CBitmapButton::LoadBitmaps装载各种状态的图片,

使用CBitmapButton::SubclassDlgItem关联到想要的按钮,

使用CBitmapButton::SizeToContent函数使按钮适合图片大小。

注意Loadbitmaps一定要在关联到按钮之前进行!

附:添加资源Bitmap的方法:Insert菜单-->Resource -->Resource type:Bitmap-->Import,

之后选择所需的图片就可游闹睁以了

实例化:选中按钮的owner Draw属性,在资源中加载两副*.bmp格式的位图,

楼主是怎么添加背景图片的?按理说会添加背景图片的话就对OnPaint()函数和OnDraw()函数很熟悉。

1.若是文档视图程序的话,在视图类的OnDraw(CDC* pDC)函数中调用pDC->TextOut()函数,就像平常输出文字带尘一样。若是嫌文字的背景蠢敏禅颜色破坏了图像,可以在输出文字之前调用pDC->SetBkMode(TRANSPARENT)

2.若是在对话框应拿没用程序中,就在对话框类的OnPaint()函数中创建一个局部对象CPaintDC dc(this)然后dc.TextOut()就行。若是嫌文字的背景颜色破坏了图像,可以在输出文字之前调用dc.SetBkMode(TRANSPARENT)

首先,你的按钮在创建是要支持位图,初始时可以在onpaint中设置背景图,如果要改变的话可使巧帆槐用CButton::SetBitmap来改变,记住,你这个变量一定要轿帆是全局的,或者是按钮类属性,不然的话会一闪孝友而过的,看不到效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11985688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存