如何把目錄內的圖(jpg,bmp)秀在陣列圖板內? |
尚未結案
|
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
你好: 請問一下,跟這篇文章的問題什麼差別嗎?
【問題】秀出像陣列方式的圖
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=58709
|
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: 不好意思,是之前問的,但照m8815010大大的說法做了是沒法像上面圖形般有個像panel可以把圖show在上面. 用TImage的方法會因圖的大小不一而重疊或無法排列整齊,也找不到可以把圖用stretch來合進TImage的property.因此再請教一次samdb你好: 嗯,首先如果你要有 >!) 另外我用 class="code"> oid __fastcall TForm1::ListView1SelectItem(TObject *Sender, TListItem *Item, bool Selected) { Graphics::TBitmap* bmp=new Graphics::TBitmap; bmp->LoadFromFile(Item->Caption); Image1->Stretch=true; <--新增這一行 Image1->Picture->Bitmap=bmp; delete bmp; //以下也可以達成目的,但效果與上述幾行不同,請自行測試 //Graphics::TBitmap* bmp=new Graphics::TBitmap; //bmp->LoadFromFile(Item->Caption); //Graphics::TBitmap* _bmp=new Graphics::TBitmap; //_bmp->Height=Image1->Height; //_bmp->Width=Image1->Width; //TRect Srcrect=Rect(0,0,bmp->Width,bmp->Height); //TRect Desrect=Rect(0,0,_bmp->Width,_bmp->Height); //_bmp->Canvas->CopyRect(Desrect,bmp->Canvas,Srcrect); //Image1->Picture->Bitmap=bmp; //delete bmp; //delete _bmp; } 嗯,目前測試大概這樣改就行了!所以如果還有不妥請再造知! >! |
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
|
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: M8815010大大您好, 我試了用vsIcon也沒出現大的縮圖,您的可以嗎?我試了是可以秀出圖出來,但就是沒有像上面的圖一樣整齊.用Panel應該可以如上圖一般整齊,但要隨圖檔數來動態產生可能有點麻煩. 現在正在改Image->Height及Image->Weight來符合大小, 但是Bmp可以,Jpg又沒有Stretch的屬性.如果M8815010兄有個vsIcon的範例可否upload上來以便參考一下結果.... 謝謝先....samdb你好: 我測試了好一會兒,發現我原來 >!),是有問題,但我覺得好像跟你敘述的又點差,呵呵! src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=18496748&CC=413672"> 針對點1我的改法是固定存入TImageList元件的圖像大小,見下面範例程式! 針對點2我的改法是將ListView元件的sorttype屬性改為stBoth 以下是我的完整測試source code,已可載入不同大小的圖檔,並排好,但只吃.bmp檔,其它圖檔同理! Unit1.h ~~ class TForm1 : public TForm { __published: // IDE-managed Components TDirectoryListBox *DirectoryListBox1; TBevel *Bevel1; TImage *Image1; TImageList *ImageList1; TListView *ListView1; TFileListBox *FileListBox1; void __fastcall DirectoryListBox1Change(TObject *Sender); void __fastcall FormCreate(TObject *Sender); void __fastcall ListView1SelectItem(TObject *Sender, TListItem *Item, bool Selected); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; Unit1.cpp ~~ TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::DirectoryListBox1Change(TObject *Sender) { ListView1->Items->Clear(); for (int fCnt=0;fCntresult: 程式目前測試無NG,請確認程式中用的元件! 另外整體效果還沒有windows中檔案總管中的效果那般佳,請測試! All |
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: m8815010 你好: //bmp->Width=100; //bmp->Height=100; //請測試這兩行放這裏有什麼不同 ==>縮圖進100x100了. 只是有個問題,用Mouse在ListView的每個圖按幾次左鍵就會發現有時會點了圖但沒有反白,要等個幾秒之後再點一下才又反白,不知為什麼?是TImageList都會如此? 但在圖的下面的檔名上按Mouse左鍵就沒有這种情形,點了幾乎都會反白.何以會這樣?>_< 發表人 - samdb 於 2004/11/05 01:21:46samdb你好: 首先我的程式中這一段: < class="code"> I bmp->Width=100; //固定圖像大小 bmp->Height=100; TRect SrcRect=Rect(0,0,bmp->Width,bmp->Height); //縮圖比率設定 TRect DesRect=Rect(0,0,100,100); if (bmp->Width>100 || bmp->Height>100) bmp->Canvas->CopyRect(DesRect,bmp->Canvas,SrcRect); //縮圖 II //bmp->Width=100; //請測試這兩行放這裏有什麼不同 //bmp->Height=100; 注意 I、II 這兩部份的程式碼是相同的(功用都是縮圖),但我的意思是說: case1.mark掉 I 只用 II case2.mark掉 II 只用 I 這兩個 case 的效果絕然不同,請自行測試一下< >! 另外我的前一篇回覆中的那張例圖(第二張)中,就有選了一張圖(最左下那張),你是說那種反白的效果嗎? 如果是的話,我剛剛又特別測了一下,我的並不會有你說的問題,不管是用滑鼠點選圖片或字都一樣, 所以我不知道你的為什麼會這樣哦< >! |
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
|
samdb
一般會員 發表:9 回覆:10 積分:3 註冊:2004-05-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |