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

984 단어
본고는 Delphi가 Listbox의 item을 내용에 따라 서로 다른 색을 나타내는 방법을 간단히 설명하고 실현 절차는 다음과 같다.
ListBox1의 Style 속성이 lbOwnerDrawVariable로 변경됨
ListBox의 OndrawItem 이벤트에서 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;

좋은 웹페이지 즐겨찾기