請教關於ListView顯示image及點選整列的問題 |
答題得分者是:RaynorPao
|
linda_wei
一般會員 ![]() ![]() 發表:44 回覆:31 積分:20 註冊:2004-04-08 發送簡訊給我 |
|
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
(1)先把你要顯示的圖放到 ImageList 裡面,因此每張圖都會有一個編號(例如: 0, 1, 2,...)
(2)然後在 SubItems 裡面指定它的 ImageIndex 之後,就會在 ListView 裡面出現圖片了 (3)先把 ListView 的 RowSelect 屬性設為 true,然後加入以下的範例程式碼 [code cpp] ListView1->ItemIndex=2; ListView1->SetFocus(); [/code]
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
linda_wei
一般會員 ![]() ![]() 發表:44 回覆:31 積分:20 註冊:2004-04-08 發送簡訊給我 |
先感謝前輩指導, 但是實做上還有些問題請教...
關於點選,因為畫面上有3個ListView, 所以 ListView1->SetFocus(); 好像會被錯亂了. ListView 的 SubItems裡加入圖形,實做上有點問題: 1)在 ListView1 裡將 SmallImage 指定 ImageList1 後, 它就把圖形show在第1格的位置了?! 我要 show 在第3格. 2)我的 ListView1 填入方法如下: ListView1->Items->Clear(); for(int i=0; i<5; i ) { LItems = ListView1->Items->Add(); LItems->Caption = tQuery->FieldByName("aaa")->AsString.Trim(); LItems->SubItems->Add(tQuery->FieldByName("bbb")->AsString.Trim()); int iValue = tQuery->FieldByName("ccc")->AsString.Trim().ToInt(); if(iValue == 0) LItems->SubItems->Add()????? (ImageList1裡0的圖)---->這裡的指令不知如何指定?? else LItems->SubItems->Add()????? (ImageList1裡1的圖)---->這裡的指令不知如何指定?? LItems->SubItems->Add(tQuery->FieldByName("ddd")->AsString.Trim()); LItems->SubItems->Add(tQuery->FieldByName("eee")->AsString.Trim()); } |
RaynorPao
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
(1)錯亂?不太懂你的意思,所以我假設你是想在 ListView 沒有取得 Focus 的情況之下,也想表示出它目前被選到的項目,如果是這樣子的話,可以參考以下的範例程式碼,自行修改
[code cpp] void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State, bool &DefaultDraw) { if(Item->Selected) { ListView1->Canvas->Brush->Color=clRed; ListView1->Canvas->Font->Color=clYellow; } } [/code] (2)每一個 column 是可以設定各別的圖,請參考以下的範例程式碼,再自行修改(假設你的 ListView 有 4 個 column) [code cpp] TListItem *a; a=ListView1->Items->Add(); a->Caption="aaa"; a->ImageIndex=0; a->SubItems->Add("bbb"); a->SubItemImages[0]=1; a->SubItems->Add("ccc"); a->SubItemImages[1]=2; a->SubItems->Add("ddd"); a->SubItemImages[2]=2; ListView1->ViewStyle=vsReport; [/code]
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
linda_wei
一般會員 ![]() ![]() 發表:44 回覆:31 積分:20 註冊:2004-04-08 發送簡訊給我 |
|
oliver1973
一般會員 ![]() ![]() 發表:3 回覆:6 積分:1 註冊:2007-11-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |