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

ImageList是否僅能使用16或256色的圖示Icons資料?

尚未結案
chfamy
中階會員


發表:87
回覆:161
積分:54
註冊:2002-05-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-29 17:56:54 IP:61.219.xxx.xxx 未訂閱
1.ImageList是否僅能使用16或256色的圖示Icons資料? 2.我使用Axialis IconWorkshop 5.0圖示編輯工具,可畫出WinXP(超過256色的 圖示),但是加入ImageList元件中都會出現淺綠色邊框,程式執行十分難看, 但用檔案總管查看又都正確無誤. 3.將圖示Icons資料轉成BMP再行加入ImageList元件中,也一樣出現相同況. 4.如果將原圖示Icons資料(Ics/Bmp格式)改用Image元件就顯示的十分完美. 5.有試著調整ImageList元件相關設定(BkColor/BlendColor/ImageType/ Masked)也都無法改善. 6.我是使用Delphi6開發程式,請問各位大大是否有遇到相同情況?
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-03 15:51:10 IP:61.30.xxx.xxx 未訂閱
請參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22021 試試看是不是您要的. --==多看.多學.多聽==--
------
--==多看.多學.多聽==--
TATSU
版主


發表:50
回覆:135
積分:62
註冊:2003-01-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-03 20:07:28 IP:203.218.xxx.xxx 未訂閱
uses CommCtrl ;    procedure ConvertToHighColor(ImageList: TImageList);    // To show smooth images we have to convert the image list from 16 colors to high color.    var
  IL: TImageList;    begin
  // Have to create a temporary copy of the given list, because the list is cleared on handle creation.
  IL := TImageList.Create(nil);
  IL.Assign(ImageList);      with ImageList do
    Handle := ImageList_Create(Width, Height, ILC_COLOR16 or ILC_MASK, Count, AllocBy);
  ImageList.Assign(IL);
  IL.Free;
end;
你用這一段程式碼,將你已加入了 icons 的 imagelist 用它轉換一次就可以秀出亮麗的 icon。 ConvertToHightColor(MyImgList) ; 就這樣簡單
chfamy
中階會員


發表:87
回覆:161
積分:54
註冊:2002-05-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-03 21:42:44 IP:61.219.xxx.xxx 未訂閱
謝謝HomeSound及TATSU的熱心協助,但是還是有問題,做法如下: 1.重新將圖示資料存入ImageList元件中. 2.於FormCreate進行ConvertToHighColor資料. 3.重新將ImageList元件設定給要顯示的ToolButton元件. 我將顯示結果及圖示資料上傳給各位大大試試,看是否有解,謝謝! 顯示結果: 圖示資料: 256: XP:
系統時間:2024-06-08 10:42:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!