资 源 简 介
Delphi 使用Canvas美化列表项,当用户鼠标单击ListBox列表项时,该列表项高亮显示,改变背景色,文字居中对齐,如图所示。
主要是使用了Delphi中的Canvas.FrameRect对其进行美化,具体代码有兴趣可参考:
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;