ListControl控件ICON模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
	}
}

运行结果


程序链接

http://download.csdn.net/detail/zhangxiaoyu_sy/9914624

猜你喜欢

转载自blog.csdn.net/ZhangXiaoyu_sy/article/details/76302077