MFC中对话框显示图片,对话框最大化之后,如何图片伴随最大化

时间:2022-02-08 10:49:01
我知道在对话框的onsize函数中来写,但是具体怎么写不是很清楚,因为我的图片显示的函数在视图类中,窗口大小改变后的参数如何传过去呢?还有就是我之前在onsize中调用了视图类中的显示函数,结果一下子调用了十几次,弹出了十几个框,最大化之后也没有见到那个图片跟着放大,求哪位好好帮帮我啊,最近要交作业了

5 个解决方案

#1


你只需要在OnDraw中绘制就行了。
CRect rc;
GetClientRect(&rc);
这样不用响应OnSize了,rc总是试图的大小。
你还是用StretchBlt,BitBlt不能缩放。

#2


我尝试一下啊

#3


你们作业好无聊啊。

你原来图片呈现方法是什么?用了GDI还是GDI+

BitBlt,StretchBlt,Graphics的DrawImage,还是CImage的Draw?

你OnSize里面要获取函数入参cx,cy里面,根据原来的窗体的大小。得出一个系数
这个系数要乘以你图片呈现时候的原图的长和宽。

所以关键还要知道你用什么的呈现的,我可以把代码写给你。

#4


我的图像显示是直接在一个弹出的对话框中显示,对话框没有添加任何控件,我的视图中图片显示的函数使用的StretchBlt和CBitmap

#5


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#1


你只需要在OnDraw中绘制就行了。
CRect rc;
GetClientRect(&rc);
这样不用响应OnSize了,rc总是试图的大小。
你还是用StretchBlt,BitBlt不能缩放。

#2


我尝试一下啊

#3


你们作业好无聊啊。

你原来图片呈现方法是什么?用了GDI还是GDI+

BitBlt,StretchBlt,Graphics的DrawImage,还是CImage的Draw?

你OnSize里面要获取函数入参cx,cy里面,根据原来的窗体的大小。得出一个系数
这个系数要乘以你图片呈现时候的原图的长和宽。

所以关键还要知道你用什么的呈现的,我可以把代码写给你。

#4


我的图像显示是直接在一个弹出的对话框中显示,对话框没有添加任何控件,我的视图中图片显示的函数使用的StretchBlt和CBitmap

#5


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法