本文整理自网络,侵删。
示例 delphi listbox用Canvas属性绘图procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);var i:integer;begin with Control as TListBox do begin Canvas.FrameRect(Clientrect); if odSelected in State then begin Canvas.Brush.Color:=clRed; Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,8,15); setBkMode(Canvas.Handle,TRANSPARENT ); Canvas.TextOut((Rect.right-Rect.Left) div 2,Rect.Top,Items.Strings[Index]); end else begin Canvas.Brush.Color:=clSkyBlue; Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,15,15); Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items.Strings[Index]); end; end;end;
相关阅读 >>
更多相关阅读请进入《Delphi》频道 >>