Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.023 c
7-100477
BJValentine
2003-02-04 16:55
2003.03.31
События Windows


3-100167
Jao
2003-03-12 09:28
2003.03.31
Преобразование формата дат через SQL


14-100404
AndrewK
2003-03-13 12:32
2003.03.31
Приглашаю обсудить концепцию


1-100254
Zarba
2003-03-18 12:02
2003.03.31
DriveComboBox.drive & ini


3-100188
Иксик
2003-03-13 12:40
2003.03.31
Компоненты прямого доступа