BCB COMBO BOX上加入ICON圖片 |
答題得分者是:RaynorPao
|
sge
一般會員 發表:5 回覆:2 積分:1 註冊:2002-12-19 發送簡訊給我 |
各位先進,前輩你們好 我有二個問題想請教各位 1個如主題,如何在combo box的物件上插入圖片
我想作一個檔案管理的系統,可以由combo box 上顯示
桌面、c,D碟等,我有參考BCB下的example VirtualListView
不過在這例子裏沒有提到這個寫法 2問題,同相是這個VirtualListView example
在FormCreate的程式碼中
OleCheck(SHGetSpecialFolderLocation(Application->Handle,
CSIDL_DRIVES ,&NewPIDL));
我查CSIDL_DRIVES這個參數是指My computer我的電腦內的目錄
如果我用CSIDL_DESKTOP來寫即會出現錯誤,難到CSIDL_DESKTOP
不是指最底層的目錄嗎??(不太會說,就是有桌面,我的電腦,網路上的芳鄰…等) 請不吝請指教,謝謝
|
yamigo
一般會員 發表:19 回覆:41 積分:12 註冊:2002-12-05 發送簡訊給我 |
引言: 各位先進,前輩你們好 我有二個問題想請教各位 1個如主題,如何在combo box的物件上插入圖片 我想作一個檔案管理的系統,可以由combo box 上顯示 桌面、c,D碟等,我有參考BCB下的example VirtualListView 不過在這例子裏沒有提到這個寫法 在Win32頁籤裏有個 ComboBoxEX 的元件,即有您要的功能~ 2問題,同相是這個VirtualListView example 在FormCreate的程式碼中 OleCheck(SHGetSpecialFolderLocation(Application->Handle, CSIDL_DRIVES ,&NewPIDL)); 我查CSIDL_DRIVES這個參數是指My computer我的電腦內的目錄 如果我用CSIDL_DESKTOP來寫即會出現錯誤,難到CSIDL_DESKTOP 不是指最底層的目錄嗎??(不太會說,就是有桌面,我的電腦,網路上的芳鄰…等) 桌面,其實是在您磁碟 C:\Documents and Settings 目錄下的個人資料目錄下~ 欲取得個人的CSID值和登入設定的話,得從Registry去存取~ 請不吝請指教,謝謝發表人 - yamigo 於 2002/12/19 20:31:10 |
lcsboy
版主 發表:87 回覆:622 積分:394 註冊:2002-06-18 發送簡訊給我 |
1. Combo要能秀Icon, 請把Style設成csOwnerDrawFixed or csOwnerDrawVariable 不過個人建議, 如果你是使用BCB6, 那就把範例的VCL 拉進來, 就有ShellComboBox和ShellTreeView可以用 2. COM Interface在這裡的觀念, 是用IDL(Item ID List), 因為有些東東是無法直接用path的觀念來表達, 如"網路芳鄰"
相關的觀念請參考IShellFolder <---- 由此實作成 不過~~~~~~ 真的好複雜..........
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 如何在combo box的物件上插入圖片sge 你好: 請參考以下的做法 ( class="code"> TIcon *icoGreen; TIcon *icoYellow; TIcon *icoRed; //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { icoGreen=new TIcon; icoYellow=new TIcon; icoRed=new TIcon; icoGreen->LoadFromFile("Green.ico"); icoYellow->LoadFromFile("Yellow.ico"); icoRed->LoadFromFile("Red.ico"); ImageList1->AddIcon(icoGreen); ImageList1->AddIcon(icoYellow); ImageList1->AddIcon(icoRed); ComboBoxEx1->Clear(); ComboBoxEx1->Images=ImageList1; ComboBoxEx1->ItemsEx->AddItem("Green", 0, 0, 0, 0, NULL); ComboBoxEx1->ItemsEx->AddItem("Yellow", 1, 1, 1, 0, NULL); ComboBoxEx1->ItemsEx->AddItem("Red", 2, 2, 2, 0, NULL); ComboBoxEx1->ItemIndex=0; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { delete icoGreen; delete icoYellow; delete icoRed; } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
johnny_1121
一般會員 發表:12 回覆:58 積分:24 註冊:2002-04-15 發送簡訊給我 |
|
markov
中階會員 發表:55 回覆:135 積分:53 註冊:2003-12-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |