Delphi 는 Listbox 의 item 을 내용 에 따라 색 을 표시 하 는 방법 을 실현 합 니 다.

1014 단어 DelphiListboxitem
본 고 는 Delphi 가 Listbox 중의 item 을 내용 에 따라 서로 다른 색 채 를 나타 내 는 방법 을 약술 하고 실현 절 차 는 다음 과 같다.
ListBox 1 의 Style 속성 을 lbOwner DrawVariable 로 변경
Listbox 의 OnDraw Item 이벤트 e 에서 item 의 값 에 따라 Canvas 속성 을 변경 합 니 다.
예제 코드 는 다음 과 같다.

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin    //          
 if Odd(index) then   // items index       
 begin
  listbox1.Canvas.Brush.Color:=clwindow;
  ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);
 end
 else     // items index       
 begin
  listbox1.Canvas.Brush.Color:=clinactivecaptiontext;
  ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);
 end;
 if  odSelected  in  state  then    //       
 begin
  listbox1.Canvas.Brush.Color:=clhighlight;
  ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);
 end;
end;

좋은 웹페이지 즐겨찾기