在资源视图Dialog中添加Picture Control和Edit Control控件,此处我们控件ID为:IDC_ShowPic、IDC_EDIT_SRC
//点击Button void CMFCDialogPrinterDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CString imagePath = L""; // TODO: 在此添加控件通知处理程序代码 BOOL isOpen = TRUE; //是否打开(否则为保存) CString defaultDir = L"."; //默认打开的文件路径 CString fileName = L""; //默认打开的文件名 CString filter = L"文件 (*.png; *.jpg)|*.png;*.jpg||"; //文件过虑的类型 CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY | OFN_READONLY, filter, NULL); openFileDlg.GetOFN().lpstrInitialDir = L""; INT_PTR result = openFileDlg.DoModal(); CString filePath = defaultDir; if (result == IDOK) { filePath = openFileDlg.GetPathName(); imagePath = filePath; } CWnd::SetDlgItemTextW(IDC_EDIT_SRC, filePath); //获取文件绝对路径,并显示到Edit Control文本框中,控件ID为IDC_EDIT_SRC CWnd * pWnd = GetDlgItem(IDC_ShowPic); //GetDlgItem,是根据继承关系的函数功能,返回窗口中指定参数ID的子元素的句柄,可以通过返回的句柄对窗口内的子元素进行操作。 //imagePath CImage image; CRect rect; image.Load(filePath); //获取图片的宽 高度 //int cx, cy; //cx = image.GetWidth(); //cy = image.GetHeight(); //获取Picture Control控件的大小,ID为IDC_ShowPic GetDlgItem(IDC_ShowPic)->GetWindowRect(&rect); //将客户区选中到控件表示的矩形区域内 ScreenToClient(&rect); //窗口移动到控件表示的区域 GetDlgItem(IDC_ShowPic)->MoveWindow(rect.left, rect.top, rect.Width(), rect.Height(), TRUE); pWnd->GetClientRect(&rect); //获取句柄指向控件区域的大小 CDC *pDc = NULL; pDc = pWnd->GetDC(); //获取picture的DC SetStretchBltMode(pDc->m_hDC, STRETCH_HALFTONE); SetBrushOrgEx(pDc->m_hDC, 0, 0, NULL); image.Draw(pDc->m_hDC, rect); //将图片绘制到picture表示的区域内 ReleaseDC(pDc); }
效果运行结果如下:
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算