全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2790
推到 Plurk!
推到 Facebook!

ListBox 的 ImageLIst

缺席
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2016-02-01 10:06:14 IP:118.160.xxx.xxx 未訂閱
請問各位

我使用ListBox 設置一組 popup 有 10組 ListBoxItem 的功能(如新增, 修改, 刪除, 搜尋...)
我想讓每一個 ListBoxItem 都能自帶一個Image, 所以利用 ImageList 加入 10張圖片(60*60)
但當我將 ListBox 的 ImageList 導入到每一個ListBoxItem(ListBoxItem.imageindex:= n), ListBox實際展現出來的大小實際只有 30*30左右, 即便我把 ListBoxItem.Height 拉高到100, 也是30*30, 實在太小了, 完全看不出來image的內容,
不知有什麼方法可以改到 60*60
但我卻不想如上一篇發帖一樣再搞一個style, 這只是一個很單純的功能而已
謝謝!

ps. 難道 image 是依據 font的size自動決定的嗎? (看起來很像!)

sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2016-02-01 10:58:15 IP:114.35.xxx.xxx 訂閱
ImageList 在加入圖片之前,得先設定好圖片的大小
加入圖片時,會自動縮放成設定的大小
不過加入圖片之後就不能改大小了
所以你需要先清除所有圖片,設定好大小,然後再加入圖片
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2016-02-01 16:10:00 IP:59.120.xxx.xxx 未訂閱
我有先設定大小為60*60, 然後才加入, 但還是如圖片這麼小
===================引 用 sryang 文 章===================
ImageList 在加入圖片之前,得先設定好圖片的大小
加入圖片時,會自動縮放成設定的大小
不過加入圖片之後就不能改大小了
所以你需要先清除所有圖片,設定好大小,然後再加入圖片
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2016-02-15 10:40:23 IP:122.146.xxx.xxx 訂閱
Hi,您好:
不要用ListBox的Image,自己把圖畫上去...

===================引 用 P.D. 文 章===================
我有先設定大小為60*60, 然後才加入, 但還是如圖片這麼小
===================引 用 sryang 文 章===================
ImageList 在加入圖片之前,得先設定好圖片的大小
加入圖片時,會自動縮放成設定的大小
不過加入圖片之後就不能改大小了
所以你需要先清除所有圖片,設定好大小,然後再加入圖片
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2016-02-17 01:02:07 IP:118.169.xxx.xxx 未訂閱
感謝回覆, 您的意思是不要用ImageLIst 導入, 而是針對每一個ListBoxItem 的 Imqge  自己把圖片加入嗎?
可是之前我試過這樣, 圖片也是小的!?
===================引 用 blue 文 章===================
Hi,您好:
不要用ListBox的Image,自己把圖畫上去...

===================引 用 P.D. 文 章===================
我有先設定大小為60*60, 然後才加入, 但還是如圖片這麼小
===================引 用 sryang 文 章===================
ImageList 在加入圖片之前,得先設定好圖片的大小
加入圖片時,會自動縮放成設定的大小
不過加入圖片之後就不能改大小了
所以你需要先清除所有圖片,設定好大小,然後再加入圖片
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2016-02-17 15:33:04 IP:122.146.xxx.xxx 訂閱
Hi,您好:
1.請參考Firemonkey sample : Samples\Object Pascal\Multi-Device Samples\User Interface\CustomListBox
2.
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
begin
ListBox1.BeginUpdate;
for i := 1 to 10 do
DrawItem();
ListBox1.EndUpdate;
end;

procedure TForm1.DrawItem();
var
Item: TListBoxItem;
begin
// create custom item
Item := TListBoxItem.Create(nil);
Item.Parent := ListBox1;
Item.Text := ' item ' IntToStr(Item.Index); // 前導空白是為調整文字位置,正常應是是在PaintItem中的 FillText(沒有試出來)
Item.Height := 96;
Item.OnPaint := PaintItem;
end;

procedure TForm1.PaintItem(Sender: TObject; Canvas: TCanvas;
const [Ref] ARect: TRectF);
var
r : TRectF;
begin
Canvas.Fill.Color := TColorRec.Black;
r := Rectf(0, 0, 80, 80);
Canvas.BeginScene;
Canvas.DrawBitmap(Image1.Bitmap, r, r, 1.0);
// Canvas.FillText(r, 'Hello Text!', false, 100, [TFillTextFlag.ftRightToLeft],
//TTextAlign.Leading, TTextAlign.Leading);
Canvas.EndScene;
end;

謝謝!

===================引 用 P.D. 文 章===================
感謝回覆, 您的意思是不要用ImageLIst 導入, 而是針對每一個ListBoxItem 的 Imqge 自己把圖片加入嗎?
可是之前我試過這樣, 圖片也是小的!?
===================引 用 blue 文 章===================
Hi,您好:
不要用ListBox的Image,自己把圖畫上去...

===================引 用 P.D. 文 章===================
我有先設定大小為60*60, 然後才加入, 但還是如圖片這麼小
===================引 用 sryang 文 章===================
ImageList 在加入圖片之前,得先設定好圖片的大小
加入圖片時,會自動縮放成設定的大小
不過加入圖片之後就不能改大小了
所以你需要先清除所有圖片,設定好大小,然後再加入圖片
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2016-03-04 23:34:03 IP:118.160.xxx.xxx 未訂閱
最後我還是決定利用建立數組 ItemListBox , 然後每一個ItemListBox 都放進一個 TImage 及 TLabel, 取消使用 ImageList 的做法

改成如下圖的樣子, 我比較滿意一些, 感謝本帖中各位給予的指導

編輯記錄
P.D. 重新編輯於 2016-03-04 23:35:05, 註解 無‧
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2016-04-22 10:03:13 IP:120.237.xxx.xxx 訂閱
10.1 的 ListBox 有新的功能,看看这个:

http://community.embarcadero.com/blogs/entry/introducing-the-listview-item-designer-in-rad-studio-10-1-berlin
系統時間:2024-03-28 21:09:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!