对以前的改进MFC略缩图控件改进
来源:互联网 发布:淘宝运营思路 编辑:程序博客网 时间:2024/05/17 02:41
以前写了一篇日记, 显示略缩图,见
《自绘列表框控件显示略缩图----再稍微改进点点。。》
http://blog.csdn.net/hemmingway/article/details/7483619
这次给他加点改进,就是增加删除被勾选的图片。。。
增加两个函数:
CString MakeFilename(int nItem);
BOOL ClearChecked(int nSubItem = 0); //clear all checked item
CString CListImageCtrl::MakeFilename(int nItem){ASSERT(nItem >= 0);ASSERT(nItem < GetItemCount());if ((nItem < 0) || nItem >= GetItemCount())return FALSE;ASSERT(!m_VectorImageNames.empty());// read the image fileCString fileName;if (m_strImageDir.Right(1) == TEXT("\\") )fileName.Format( TEXT("%s%s"), m_strImageDir, m_VectorImageNames[nItem] );elsefileName.Format( TEXT("%s\\%s"),m_strImageDir, m_VectorImageNames[nItem] );return fileName;}BOOL CListImageCtrl::ClearChecked(int nSubItem /*= -1*/){// hold the window update to avoid flickingSetRedraw(FALSE);//////////////////////////////////////////////////////////////////////////ASSERT(nSubItem >= 0);ASSERT(nSubItem < GetColumns());if ((nSubItem < 0) || nSubItem >= GetColumns())return FALSE;unsigned int offset = 0;int n = GetItemCount();for (int nItem = 0; nItem < n; nItem++){unsigned int idx = nItem-offset;XLISTCTRLDATA *pXLCD = (XLISTCTRLDATA *) CListCtrl::GetItemData(idx);if (!pXLCD){continue;}if (pXLCD[nSubItem].nCheckedState == 1 )//checked, delete it{CString file = MakeFilename(idx);DeleteFile(file);m_VectorImageNames.erase(m_VectorImageNames.begin() + idx);//m_ImageListThumb.Remove(idx);//error?this->DeleteItem(idx);offset++;if(m_nSelectedItem == idx)m_nSelectedItem = -1;}}Arrange(LVA_ALIGNTOP);SetRedraw(); return TRUE;}
- 对以前的改进MFC略缩图控件改进
- MFC略缩图控件实现
- 自绘列表框控件显示略缩图----再稍微改进点点。。
- 略缩图的方法
- 改进的socket控件
- 改进的socket控件
- 对TinyJson 的改进
- 以前的c#mvc框架改进 想法
- 改进了的日期控件
- 验证码控件的改进
- NTGraph控件的小改进
- CMFCShellTreeCtrl控件的效率改进
- 对TMemoryStream的一些改进
- 对PCA方法的改进
- struts2对webwork的改进
- 对SashForm的一点改进
- 对TMemoryStream的一些改进
- 对TMemoryStream的一些改进
- 关于线程
- 由近期裁员想到的
- Cassandra 分布式数据库 配置、启动与集群
- 细说ASP.NET的各种异步操作
- Web.xml 配置文件详解
- 对以前的改进MFC略缩图控件改进
- cake前言
- 汉诺塔(数据结构课本实现)
- 【phpcms-v9】前台模板文件中{pc}标签的执行流程
- gdb使用方法简介
- 不同的操作系统修改时区方法
- 遇到XML inflating class error的时候需要注意的几项
- Android Wifi的工作流程 及常见问题分析
- 程序员编程艺术:第八章、从头至尾漫谈虚函数