線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1647
推到 Plurk!
推到 Facebook!

TListBox Items自訂顏色,Items位置改變,反白無法消除問題

答題得分者是:RaynorPao
海星
高階會員


發表:41
回覆:217
積分:106
註冊:2003-01-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-03 13:57:51 IP:61.218.xxx.xxx 未訂閱
我的TListBox 要讓 Items 顯示自訂的顏色,不想用預設醜醜的藍色, 可是當使用者點選其他的 Items 時,下面的程式碼並不會把前一個反白 重繪過,他還是保持原來的反白,要如何讓前一個被選取的 Items 恢復 正常顏色不會反白?     
 
void __fastcall TMainForm::MoveListDrawItem(TWinControl *Control,
      int Index, TRect &Rect, TOwnerDrawState State)
{
    int Offset = 2;       TCanvas *Canvas=((TListBox*)Control)->Canvas;      if( Index != MoveList->ItemIndex )
  {
    MoveList->Canvas->Brush->Color = Color3;
    Canvas->Font->Color=Index%2? clBlue: clRed;
    Canvas->FillRect(Rect);
  }
  else
  {
    Canvas->Brush->Color = Color1;
    Canvas->Font->Color = FontColor1;
    Canvas->FillRect(Rect);
  }       Canvas->TextOut(Rect.Left Offset, Rect.Top, ((TListBox *)Control)->Items->Strings[Index]);    }
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 14:41:35 IP:203.73.xxx.xxx 未訂閱
引言: 我的TListBox 要讓 Items 顯示自訂的顏色,不想用預設醜醜的藍色, 可是當使用者點選其他的 Items 時,下面的程式碼並不會把前一個反白 重繪過,他還是保持原來的反白,要如何讓前一個被選取的 Items 恢復 正常顏色不會反白?
 
void __fastcall TMainForm::MoveListDrawItem(TWinControl *Control,
      int Index, TRect &Rect, TOwnerDrawState State)
{
    int Offset = 2;       TCanvas *Canvas=((TListBox*)Control)->Canvas;      if( Index != MoveList->ItemIndex )
  {
    MoveList->Canvas->Brush->Color = Color3;
    Canvas->Font->Color=Index%2? clBlue: clRed;
    Canvas->FillRect(Rect);
  }
  else
  {
    Canvas->Brush->Color = Color1;
    Canvas->Font->Color = FontColor1;
    Canvas->FillRect(Rect);
  }       Canvas->TextOut(Rect.Left+Offset, Rect.Top, ((TListBox *)Control)->Items->Strings[Index]);    }
海星 你好:
請參考以下的做法
(>>>>>>>>>>>>>>>>>>>    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-05-18 23:09:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!