有沒有辦法將ListView中的所有縮圖存到1個圖檔 |
尚未結案
|
plihui
初階會員 ![]() ![]() 發表:88 回覆:96 積分:41 註冊:2003-07-03 發送簡訊給我 |
我有參考一些之前前輩所做的圖檔瀏覽器
有用到TListView和TImageList
要如何將那張含有許多縮圖Canvas存起來啊?!
void __fastcall TPicViewForm::DirectoryListBox1Change(TObject *Sender) { TListItem *ListItem; TSearchRec sr; TRect DRect,SRect; String AppDir=ExtractFileDir(Application->ExeName); int iPicCount=0; ImageList1->Clear(); ListView1->Items->Clear(); if (DirectoryListBox1->Directory.LastDelimiter("\\") == DirectoryListBox1->Directory.Length() ) DirectoryListBox1->Directory.SetLength(DirectoryListBox1->Directory.Length()-1); if ( !FindFirst(DirectoryListBox1->Directory "\\*.bmp",faAnyFile, sr) ) { do { Graphics::TBitmap *PicBmp = new Graphics::TBitmap(); try { PicBmp->LoadFromFile(DirectoryListBox1->Directory "\\" sr.Name); } catch(...) { ShowMessage(DirectoryListBox1->Directory "\\" sr.Name); } Graphics::TBitmap *DestBmp = new Graphics::TBitmap(); DestBmp->Width=90; DestBmp->Height=90; DestBmp->Canvas->StretchDraw(Rect(1,1,89,89),PicBmp); ListItem = ListView1->Items->Add(); ListItem->Caption = sr.Name; ListItem->ImageIndex = ImageList1->Add(DestBmp,NULL); // PicBmp->SaveToFile(AppDir "\\back\\" sr.Name); delete PicBmp; delete DestBmp; StatusBar1->Panels->Items[0]->Text = "Total : " IntToStr( iPicCount) " Bitmaps."; Application->ProcessMessages(); } while ((!FindNext(sr)) && (!bCloseForm)); FindClose(sr); } }? 發表人 - taishyang 於 2004/03/31 23:32:59 |
plihui
初階會員 ![]() ![]() 發表:88 回覆:96 積分:41 註冊:2003-07-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |