求助

kaer_zhong 2009-04-22 05:55:08
1 在XP或VISTA下,放图片的文件夹上面可以显示4副小位图(文件夹里面的图片缩小后)

我想在按钮上实现这种效果,请大家提供一下思路或者参考资料

2 鼠标移动到按钮上时,按钮窗口变大并且突出一点
...全文
88 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaer_zhong 2009-04-22
  • 打赏
  • 举报
回复
StretchBlt 哦 用这个
kaer_zhong 2009-04-22
  • 打赏
  • 举报
回复
恩, 我遇到个问题是:我加载了一个XP自带的图片,大小没有改变,想让显示全屏幕,可是位图不是足够大

现在窗口全屏了,位图是原始大小,没有全屏...

Fireway2008 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kaer_zhong 的回复:]
在问大家一下,因为要显示4副位图在按钮上,而且用一个十字型的线分开,那我是不也要先分割按钮窗口?
[/Quote]

1. 可以自己实现用GetWindowRect 获取窗体的相对坐标而拟定其大小,然后再转换成相对于对话框的坐标,用ScreenToClient。

2. 分上下 各2块区域去计算显示区域,分别用不同的DC将4张图片绘制上去。也许要用到特别的图像处理类会更加方便。
Ryanwen 2009-04-22
  • 打赏
  • 举报
回复
不需要 绘制的时候矩形区域是你自己指定的 你把中间十字型区域空出来或是涂上别的颜色就可以了
kaer_zhong 2009-04-22
  • 打赏
  • 举报
回复
mynamelj 2009-04-22
  • 打赏
  • 举报
回复
当然不用,你把四幅都画在一个DC上不就行了
kaer_zhong 2009-04-22
  • 打赏
  • 举报
回复
在问大家一下,因为要显示4副位图在按钮上,而且用一个十字型的线分开,那我是不也要先分割按钮窗口?
kaer_zhong 2009-04-22
  • 打赏
  • 举报
回复
谢谢大家,我在试试
mynamelj 2009-04-22
  • 打赏
  • 举报
回复
用CFileFind去查找符合条件的文件,取出前4个就好了
kaer_zhong 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Ryanwen 的回复:]
两种效果都是同样的原理 得到图片后双缓冲 将四幅图片分别缩放在一个按钮的四个区域上
当检测到鼠标移动到按钮上的事件后,动态改变按钮窗口大小并只绘制一幅图片的缩放图
[/Quote]

就是在得到文件夹里面的图片时有点困难,就得到前四副,有API吗?
蓝一号 2009-04-22
  • 打赏
  • 举报
回复
思路是:重载CButton类,设置4个位图参数,在drawitem里画下图片即可。鼠标移动事件做下窗口变大处理,并把图片显示区域也变大.....
mynamelj 2009-04-22
  • 打赏
  • 举报
回复
把需要图片加载进来,用StretchBlt绘制上去不就行了
Ryanwen 2009-04-22
  • 打赏
  • 举报
回复
两种效果都是同样的原理 得到图片后双缓冲 将四幅图片分别缩放在一个按钮的四个区域上
当检测到鼠标移动到按钮上的事件后,动态改变按钮窗口大小并只绘制一幅图片的缩放图

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧