ListBox 如何做到每行規則性顯示雙色 |
尚未結案
|
corey
一般會員 發表:34 回覆:44 積分:14 註冊:2003-04-19 發送簡訊給我 |
我想要有規則的顯示一行紅底色一行藍底色,可是都顯示紅底色,字都為白色
procedure TFrmUBsio.LBox_ListOrderDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
LBox_ListOrder.Canvas.Brush.Style := bsSolid;
if LeftStr(LBox_ListOrder.Items.Text,1) = 'B' then begin
LBox_ListOrder.Canvas.Brush.Color := clRed; end
else
LBox_ListOrder.Canvas.Brush.Color := clBlue;
LBox_ListOrder.Canvas.Font.Color := clWhite;
LBox_ListOrder.Canvas.FillRect(Rect);
end;
是我觀念不對嗎?還是有寫錯!
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
procedure TFrmUBsio.LBox_ListOrderDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin LBox_ListOrder.Canvas.Brush.Style := bsSolid; if LeftStr(LBox_ListOrder.Items[Index],1) = 'B' then begin LBox_ListOrder.Canvas.Brush.Color := clRed; end else LBox_ListOrder.Canvas.Brush.Color := clBlue; LBox_ListOrder.Canvas.Font.Color := clWhite; LBox_ListOrder.Canvas.FillRect(Rect); end; |
corey
一般會員 發表:34 回覆:44 積分:14 註冊:2003-04-19 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好!
procedure TFrmUBsio.LBox_ListOrderDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin LBox_ListOrder.Canvas.Brush.Style := bsSolid; if LeftStr(LBox_ListOrder.Items[Index],1) = 'B' then begin LBox_ListOrder.Canvas.Brush.Color := clRed; end else begin LBox_ListOrder.Canvas.Brush.Color := clBlue; end; LBox_ListOrder.Canvas.Font.Color := clWhite; LBox_ListOrder.Canvas.FillRect(Rect); end;參考看看! ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
corey
一般會員 發表:34 回覆:44 積分:14 註冊:2003-04-19 發送簡訊給我 |
procedure TFrmUBsio.LBox_ListOrderDrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
LBox_ListOrder.Canvas.Brush.Style := bsSolid;
if LeftStr(LBox_ListOrder.Items[Index],1) = 'B' then
begin
LBox_ListOrder.Canvas.Brush.Color := clRed;
end
else
begin
LBox_ListOrder.Canvas.Brush.Color := clBlue;
end;
LBox_ListOrder.Canvas.Font.Color := clWhite;<--這一行字體已設為白色,可是沒顯示出來
LBox_ListOrder.Canvas.FillRect(Rect);
end; 請各位大大及版主幫幫忙....謝謝
|
TATSU
版主 發表:50 回覆:135 積分:62 註冊:2003-01-16 發送簡訊給我 |
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin ListBox1.Canvas.Brush.Style := bsSolid; if Copy(ListBox1.Items[Index],1,1) = 'B' then ListBox1.Canvas.Brush.Color := clRed else ListBox1.Canvas.Brush.Color := clBlue; ListBox1.Canvas.FillRect(Rect); ListBox1.Canvas.Font.Color := clWhite ; ListBox1.Canvas.TextOut(Rect.Left 2, Rect.Top 2,ListBox1.Items [Index]); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |