新余+网站建设,湖北系统app定制开发系统,seo必备工具,大庆网站制作步骤: 0、打开VS2022创建一个基于对话框的MFC应用#xff0c;项目名称命名为PicShow#xff0c;创建完成后将对话框客户区中的确定按钮等内容删除#xff08;具体步骤略#xff09;。 1、建立菜单栏#xff1a;文件-打开、退出。具体步骤#x…步骤: 0、打开VS2022创建一个基于对话框的MFC应用项目名称命名为PicShow创建完成后将对话框客户区中的确定按钮等内容删除具体步骤略。 1、建立菜单栏文件-打开、退出。具体步骤在解决方案管理器中a.右键项目名称 PicShowb.选择添加c.选择资源d.选择Menu后点击“新建”进入菜单编辑界面后先写上“文件”然后在其下拉位置分别写上“打开”和“退出”。 右键对话框选择属性找到属性栏中的“菜单”在下拉中选入建立资源IDR_MENU1。 此时运行程序已经能够正常显示菜单。 2、回到菜单编辑界面右键“打开”选择添加处理程序类列表选择“CPicShowDlg”函数名改为OnOpen其余按照缺省。 这段内容是本文的核心包括选择图片文件和显示图片CPicShowDlg::OnOpen()具体代码及注释如下 /************************************************************/ //一选择要显示的图片获取图片文件的文件名及路径 CString fileName; //声明保存图片文件路径及名称的字符串对象 CFileDialog openDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, LAll Files(*.*)||, AfxGetMainWnd(), 0UL, 1); // 设置打开文件对话框 openDlg.DoModal(); //运行打开文件对话框 fileName openDlg.GetPathName(); //获得文件名及路径并保存到字符串变量中 //二显示图片 // 显示图片分几个步骤首先获取客户区设备上下文指针并对客户区清屏然后声明CImage对象img并将图片载入img接着 // 通过调用img成员函数Draw将图片显示到对话框客户区。注意显示前需调用SetStretchBltMode函数以保证颜色显示不失真。 //步骤一 CDC* pDC; //声明设备上下文类对象指针 pDC this-GetDC(); //获得客户区设备上下文指针 CRect rect; //声明矩形结构 GetClientRect(rect); //获取客户区数据并存入rect矩形结构 pDC-FillRect(rect, (CBrush*)pDC-SelectStockObject(5));//清除客户区旧有内容(实际为使用背景色填充客户区) //步骤二 CImage img; //声明CImage对象 img.Load(fileName); //将第一步骤选择的图片载入 //步骤三 ::SetStretchBltMode(*pDC, COLORONCOLOR); //首先设置图形拉伸变形时的颜色处理模式保证颜色不失真 if (rect.Width() / rect.Height() img.GetWidth() / img.GetHeight()) //判断客户区宽高比例与源图宽高比例哪个更大一些 { img.Draw(pDC-m_hDC, 0, 0, rect.Height()*img.GetWidth()/img.GetHeight(), rect.Height(),0, 0, img.GetWidth(), img.GetHeight()); //客户区宽高比大于图片宽高比显示语句 } else { img.Draw(pDC-m_hDC, 0,0,rect.Width(), rect.Width()*img.GetHeight()/img.GetWidth(),0, 0, img.GetWidth(), img.GetHeight()); //客户区宽高比小于图片宽高比显示语句 } pDC-DeleteDC(); //释放设备上下文指针 /************************************************************/ 3、回到菜单编辑界面右键“退出”选择添加处理程序类列表选择“CPicShowDlg”函数名改为OnQuit其余按照缺省。 语句只写一句 /************************************************************/ EndDialog(0); //关闭对话框 /************************************************************/ 以上是采用基于对话框的MFC应用显示图片的大致过程达到了显示图片不变色、不变形的目的供有相同兴趣的朋友参考。