日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对以前的改进MFC略缩图控件改进

發布時間:2023/12/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对以前的改进MFC略缩图控件改进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以前寫了一篇日記, 顯示略縮圖,見

《自繪列表框控件顯示略縮圖----再稍微改進點點。。》

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略缩图控件改进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。