mfc c++ 如何在button上 使图片大小按照按钮大小显示

mfc c++ 如何在button上 使图片大小按照按钮大小显示,第1张

这个不是好办法,因为你涉及要的放大和缩小,这样会引起失真的。

你只能倒过来,按钮根据的大小而改变尺寸。我有写过自定义按钮皮肤的文章,里面用的是GDI+绘图,可以用到MFC上面。

>

对话框没有滚动的便捷支持。你需要在对话框中自己加入两个滚动条控件,并自己定义视口区域和滚动逻辑,并响应滚动条控件的各种消息。换句话说,都需要自己来。

至于只显示一部分,是最简单的,BitBlt设置原图原点和目标区域就可以了。

MFC的CScrollView处理了上述这些需要自定义的代码,用起来很方便。不过在对话框里面插入视图,是脱离MFC框架的做法,一些关联处理起来更麻烦。

如果不是必要,推荐你使用文档视图结构作吧,省事儿多了。

如果是使用GDI其实内核就是一个基础缩放API, StretchBlt()/StretchDIBits() GDI+的话,可以直接Draw()。

具体实现上,这要看你的应用的窗体类型。

1、DIALOG 对话框:

处理WM_CTLCOLORDLG,消息事件,先检查对话框的窗口尺寸,然后依据该尺寸创建一个兼容位图,将原图直接StretchBlt() 缩放到对话框大小,然后将这个兼容位图转换成位图画刷并返回就可以了。

2、普通的WINDOWS 窗体。

处理WM_PAINT消息。 计算窗体尺寸,然后直接使用这个API 进行缩放。 中间可以使用双缓冲,避免屏幕闪烁。

以上就是关于mfc c++ 如何在button上 使图片大小按照按钮大小显示全部的内容,包括:mfc c++ 如何在button上 使图片大小按照按钮大小显示、MFC如何使picture控件的图片随着对话框的大小改变而改变、MFC使用BitBlt显示大图片问题 求解答等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10171977.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存