[Microsoft Visual Studio 2010]基于MFC对话框打开图片并显示在矩形框图上

[Microsoft Visual Studio 2010]基于MFC对话框打开图片并显示在矩形框图上

本文章由学校老师指导下编写,是基于MFC对话框的简单程序应用,希望能够给刚接触MFC的同学提供一点参考,使用编译软件为Microsoft Visual Studio 2010。如果由于学校机房的vs2010版本过旧无法执行程序代码,可以参考我的另一篇博客。

正文:
首先,运行VS2010新建一个项目工程,在Visual C++下选择MFC应用程序,输入工程名称以及保存地址点击确定。
新建项目

在MFC程序向导中选择基于对话框,直接点击下一步或者完成。
在这里插入图片描述

建立好工程后可以先编译下空工程。确定无误后,开始下一步。
选择工具箱在对话框中添加一个矩形图片框,两个按钮。

在这里插入图片描述
对矩形图片框进行ID配置,将矩形框1的ID配置为ORGIMAGE。修改按钮的caption。
在这里插入图片描述
右键内部矩形框添加变量,变量名为IMAGE1。
在这里插入图片描述
再右键外部大矩形框添加两个CString类型的变量,名字为strFilePath,strFileName。右键点击类向导查看成员变量可以检查是否成功添加变量。在这里插入图片描述
在这里插入图片描述
之后双击按钮1添加如下代码

	CFileDialog fileDlg(TRUE, _T("png"), NULL, 0, _T("image Files(*.bmp; *.jpg;*.png)|*.JPG;*.PNG;*.BMP|All Files (*.*) |*.*|"), this);
    fileDlg.DoModal();
	strFilePath=fileDlg.GetPathName();		//文件路径
	strFileName = fileDlg.GetFileName();	//文件名
	if (strFilePath == _T(""))
    {
    
    
        return;
    }
	CImage image;
    image.Load(strFilePath);
	CRect rectControl;                        //控件矩形对象
	IMAGE1.GetClientRect(rectControl);
	CDC *pDc = IMAGE1.GetDC();			 //设备上下文对象的类
	rectControl = CRect(rectControl.TopLeft(), CSize((int)rectControl.Width(), (int)rectControl.Height()));
	IMAGE1.SetBitmap(NULL);				//清空picture
	image.Draw(pDc->m_hDC, rectControl);    //将图片绘制到Picture控件表示的矩形区域
	image.Destroy();
	IMAGE1.ReleaseDC(pDc);

无报错按F5编译并执行即可。
在这里插入图片描述
最终效果:
在这里插入图片描述
参考博客:https://blog.csdn.net/qq_37907622/article/details/83410667

猜你喜欢

转载自blog.csdn.net/m0_56587875/article/details/115275169