版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZhangXiaoyu_sy/article/details/76302077
新建一个MFC对话框,命名为Import
添加一个ListControl控件,ID设定为IDC_PROGRAM_LANG_LIST,属性View设定为Icon ,再添加一个按钮。
在CImportDlg .h中添加一个成员变量
CImageList m_imageList;
在BOOL CImportDlg::OnInitDialog()中
添加m_imageList.Create(80,80,ILC_COLOR24|ILC_MASK,1,0);//创建列表视图窗口
添加按钮点击事件
函数体修改为
void CImportDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
//打开文件 定义四种格式的文件bmp gif jpg tiff
CString filter=L"所有文件(*.bmp,*.jpg,*.gif,*tiff)|*.bmp;*.jpg;*.gif;*.tiff| BMP(*.bmp)|*.bmp| JPG(*.jpg)|*.jpg| GIF(*.gif)|*.gif| TIFF(*.tiff)|*.tiff||";
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter,NULL);
if( dlg.DoModal() == IDOK )
{
CString BmpName = dlg.GetFileName();
CString m_strfile= dlg.GetPathName();
CBitmap *pBitmap= new CBitmap;
//从文件导入位图
HBITMAP hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),m_strfile,IMAGE_BITMAP,80,80,LR_LOADFROMFILE);
pBitmap->Attach(hBitmap);
int index=m_imageList.Add(pBitmap, RGB(0,0,0));
if (m_imageList.GetImageCount() == 0)
{
CString strMsg;
strMsg.Format(L"导入图片失败!%d", GetLastError());
AfxMessageBox(strMsg);
}
CString name;
name.Format(L"%s\n[%d×%d]",BmpName,80,80);
m_programLangList.SetImageList(&m_imageList,LVSIL_NORMAL);
m_programLangList.InsertItem(index,name,index);
}
}
运行结果
程序链接