在MFC中通过点击按钮加载任意路径下的图片到picture control,那怎么获取加载的哪副图片,代码如何实现?

 我来答
Fu61ch3
2017-03-17 · TA获得超过151个赞
知道答主
回答量:291
采纳率:0%
帮助的人:75.7万
展开全部
监听CListCtrl控件的选中事件,在选中事件中从控件获取选中项的文字(GetItemText),这个文字就是文件名。然后使用文件名取读取图片文件,并将图片设置到PicureBox控件上。
追问
我是设置一个按钮,点击按钮,可以加载任意路径下的图片到picture control,那么我怎么在程序中获取我加载的是哪副图片呢?也就是加载图片的文件名怎么获取呢?能呈现下代码吗?您的意思我不是很明白,是给按钮加载变量还是给picture control加载变量,然后使用GetItemText来获取文件名吗?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chzp3220354
2018-05-14 · TA获得超过663个赞
知道小有建树答主
回答量:345
采纳率:66%
帮助的人:145万
展开全部
CImage myImage;
CFileDialog fileDlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, _T("Picture Files (*.bmp *.jpg)|*bmp;;*jpg||"), AfxGetMainWnd());
CString pathName;
if (fileDlg.DoModal() == IDOK)
{
POSITION mPos = fileDlg.GetStartPosition();
if (mPos != NULL)
{
pathName = (LPCTSTR)fileDlg.GetPathName();
if (!myImage.IsNull())//判断图象是否为空,如果不为空则先释放掉
myImage.Destroy();
myImage.Load(pathName);
}
}
CRect rect;
CWnd *pWnd = GetDlgItem(IDC_STATIC);
CDC *pDC = pWnd->GetDC();
//第1个控件
pWnd->GetClientRect(&rect); //取得客户区尺寸
pDC->SetStretchBltMode(STRETCH_HALFTONE); //保持图片不失真
myImage.Draw(pDC->m_hDC, rect); //已控件尺寸大小来绘图
ReleaseDC(pDC);
myImage.Destroy();
//代码CWnd *pWnd = GetDlgItem(IDC_STATIC);其中IDC_STATIC是控件的ID,内容就是你放的图片。
单击你放的picture control 框子,框子外面有黑线说明选中了,再点击属性,在杂项下,ID那儿会显示你的控件ID,其他控件同上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式