| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3335 人关注过本帖
标题:[求助]设置图片按钮
只看楼主 加入收藏
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
 问题点数:0 回复次数:7 
[求助]设置图片按钮

我想编写一个图片按钮,我照着MSDN上面的步骤来做,但是没能成功实现。步骤:
1. 导入一幅图片,IDB_BITMAP1
2. 在按钮所在对话框中添加CBitmapButton类成员m_picBtn
3. 在对话框构造函数中初始化: m_picBtn.LoadBitmaps(IDB_BITMAP1);
4. 添加消息WM_INITDIALOG函数, 在里面添代码:m_picBtn.AutoLoad(IDC_PICBUTTON,this);
以上是我的步骤,其中无论变量m_picBtn是否与按钮关联,在运行中弹出对话框时会有运行错误,请问为什么?哪里错了吗?
请问怎样通过继承CButton类,重写DrawItem函数给按钮画图?有例子的请发dream1001fly@126.com,THANKS~

搜索更多相关主题的帖子: 图片按钮 对话框 IDB picBtn 函数 
2006-11-22 20:38
朦朦胧胧
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
收藏
得分:0 

把按钮style里的owner draw 选上,如果你的按钮的caption是Button1,那么把导入的位图的ID改为"Button1U"(双引号不能少),
m_picBtn.LoadBitmaps(IDB_BITMAP1);这句话不用了,再按照你的第4步做.运行时,按钮总是一个状态,因为那个"Button1U"是表示按钮正常状态,可再导入一个位图,将ID改为"Button1D"即可,运行,在按钮按下状态时,显示的图片将是第二个图片.


2006-11-23 13:34
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
得分:0 

不行啊,什么意思?没看懂,不是说位图不用导入了吗,怎么又会把位图ID改为Button1U,后面还加个U?看不明白

2006-11-23 13:53
Bekky
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:354
专家分:0
注 册:2006-5-29
收藏
得分:0 
直接加图片可能不行,可能要自绘,就是要重载drawitem.
一下是一个自绘按钮的例子。
8Y1nlv5N.zip (21.45 KB) [求助]设置图片按钮


[此贴子已经被作者于2006-11-23 14:24:15编辑过]


我的编译环境为WinXp + VC 6.0 http://blog..cn/yobo
2006-11-23 14:22
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
得分:0 

我猜可以直接贴吧,里面的SetBitmap()和GetBitmap()函数我还没搞清楚怎么用,而且用CBitmapButton类的对象来写更方便,可惜我还没成功,步骤如我所写的

2006-11-23 15:12
朦朦胧胧
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-9-19
收藏
得分:0 
以下是引用不得不编在2006-11-23 13:53:29的发言:

不行啊,什么意思?没看懂,不是说位图不用导入了吗,怎么又会把位图ID改为Button1U,后面还加个U?看不明白

第一步:在资源编辑器里import 两个bmp格式图片图1,图2
第二步:打开按钮属性对话框,在style属性页里选中owner draw
第三步:打开图片1的属性对话框,把ID改为"***U"(U表示Up,图一用于按钮正常状态),
同样把图2的ID改为"***D"(用于按钮按下状态)(假设按钮的caption为***,双引号不可少)
第四步:在按钮所属的对话框的类中,加入Protected:CBitmapButton m_pBB;
第五步:在对话框的初始化函数OnInitDialog()中加入:m_pBB.AutoLoad(IDC_BUTTON1);(假如你的按钮的ID为IDC_BUTTON1)
第六步:build运行,按钮为图1,点击按钮,显示图2


2006-11-23 17:12
不得不编
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-4-4
收藏
得分:0 
嗯~OK了~THANKS~啊,还有我想问下如果通过继承CButton类重写DRAWITEM的方法来实现是怎么做的啊?是不是先获得按钮区域坐标跟大小,然后用兼容DC贴图上去?
2006-11-23 20:44
shanchen22
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-10-23
收藏
得分:0 
不懂
2010-10-23 13:05
快速回复:[求助]设置图片按钮
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033897 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved