Текущий архив: 2003.03.31;
Скачать: CL | DM;
ВнизКак изменить цвет выделения в ListView Найти похожие ветки
← →
MrCOLOMBO (2003-03-19 18:41) [0]Каким образом можно изменить цвет выделения в ListView
, сделать его в виде рамки или сделать его полупрозрачным.
Я понимаю что это тяжко, но может есть "гуру" которые ответят на такой вопрос.
Или может кто посоветует что-либо готовое.
← →
cLe0 (2003-03-20 02:29) [1]procedure TForm1.ListView1CustomDraw(Sender: TCustomListView;
const ARect: TRect; var DefaultDraw: Boolean);
begin
(Sender as TCustomListView).Canvas.Brush.Color := clTeal;
(Sender as TCustomListView).Canvas.FillRect(ARect);
end; // proc
{------------------------------------------------------------------------------}
procedure TForm1.ListView1DrawItem(Sender: TCustomListView;
Item: TListItem; Rect: TRect; State: TOwnerDrawState);
var
MIRect, SI1Rect, SI2Rect: TRect;
begin
MIRect := Rect;
MIRect.Right := ListView1.Columns.Items[0].Width;
SI1Rect := Rect;
SI1Rect.Left := MIRect.Right + 1;
SI1Rect.Right := SI1Rect.Left + ListView1.Columns.Items[1].Width;
SI2Rect := Rect;
SI2Rect.Left := SI1Rect.Right + 1;
SI2Rect.Right := SI2Rect.Left + ListView1.Columns.Items[2].Width - 1;
if Item.Focused then
begin
(Sender as TCustomListView).Canvas.Font.Color := clBlue;
(Sender as TCustomListView).Canvas.Brush.Color := clLime;
end
else
begin
(Sender as TCustomListView).Canvas.Font.Color := clWhite;
(Sender as TCustomListView).Canvas.Brush.Color := clOlive;
end;
(Sender as TCustomListView).Canvas.FillRect(Rect);
(Sender as TCustomListView).Canvas.TextRect(MIRect, MIRect.Left + 2, MIRect.Top, Item.Caption);
if Item.SubItems.Count = 1 then
begin
(Sender as TCustomListView).Canvas.TextRect(SI1Rect, SI1Rect.Left + 2, SI1Rect.Top, Item.SubItems.Strings[0]);
end; // if
if Item.SubItems.Count = 2 then
begin
(Sender as TCustomListView).Canvas.Font.Color := clYellow;
(Sender as TCustomListView).Canvas.Brush.Color := clRed;
(Sender as TCustomListView).Canvas.TextRect(SI2Rect, SI2Rect.Left + 2, SI2Rect.Top, Item.SubItems.Strings[1]);
end; // if
end; // proc
Страницы: 1 вся ветка
Текущий архив: 2003.03.31;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c