Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Вниз

Цвет колоны в ListView   Найти похожие ветки 

 
.ruslan ©   (2006-06-06 11:42) [0]

Как изменить цвет определённой колоны в ListView?


 
ЮЮ ©   (2006-06-06 11:51) [1]

См. справку по TCustomListView.OnCustomDrawXXX


 
.ruslan ©   (2006-06-06 15:26) [2]

не разобрался...
можно кодом?


 
.ruslan ©   (2006-06-07 18:56) [3]

а просто увет текста одной колоны как сметить*


 
ЮЮ ©   (2006-06-08 04:40) [4]

Брось на форму ListView и назначь обработчики:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls;

type
 TForm1 = class(TForm)
   ListView1: TListView;
   procedure FormCreate(Sender: TObject);
   procedure ListView1AdvancedCustomDrawSubItem(Sender: TCustomListView;
     Item: TListItem; SubItem: Integer; State: TCustomDrawState;
     Stage: TCustomDrawStage; var DefaultDraw: Boolean);
   procedure ListView1CustomDrawItem(Sender: TCustomListView;
     Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
 i, j, n, m: integer;
 lc: TListColumn;
 li: TListItem;
begin
 m := 4;
 ListView1.ViewStyle := vsReport;

 for i := 0 to m - 1 do begin
   lc := ListView1.Columns.Add;
   lc.Alignment := TAlignment(i);
   lc.Caption := "Column " + IntToStr(i);
   lc.Width := ListView1.ClientWidth div m;
 end;

 n := 5;
 for i := 0 to n - 1 do begin
   li := ListView1.Items.Add;
   li.Caption := IntToStr(i) + ", 0";
   for j := 1 to m - 1 do
     li.SubItems.Add(IntToStr(i) + "," + IntToStr(j));
 end;

end;

procedure TForm1.ListView1AdvancedCustomDrawSubItem(
 Sender: TCustomListView; Item: TListItem; SubItem: Integer;
 State: TCustomDrawState; Stage: TCustomDrawStage;
 var DefaultDraw: Boolean);
begin
 if SubItem = 1 then
   TListView(Sender).Canvas.Font.Color := clRed
 else
   TListView(Sender).Canvas.Font.Color := clBlack;

 if SubItem = 2 then
   TListView(Sender).Canvas.Brush.Color := clYellow
 else begin
  if cdsSelected in State then
    TListView(Sender).Canvas.Brush.Color := clSilver
  else
    TListView(Sender).Canvas.Brush.Color := clWhite;
 end;
end;

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
 Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
 if cdsSelected in State then
    TListView(Sender).Canvas.Brush.Color := clSilver
  else
    TListView(Sender).Canvas.Brush.Color := clWhite;
end;

end.


 
ЮЮ ©   (2006-06-08 04:44) [5]

код из ListView1AdvancedCustomDrawSubItem следует поместитить  ListView1CustomDrawSubItem - и этого обработчика вполне хватит



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
15-1150953961
oha
2006-06-22 09:26
2006.07.23
процесс


2-1151991076
Kinda
2006-07-04 09:31
2006.07.23
работа с DBGrid ом


2-1152031679
Yegorchic
2006-07-04 20:47
2006.07.23
ListView.Canvas


6-1140863347
Pakshin A. S.
2006-02-25 13:29
2006.07.23
Уделание сообщения с ящика через IdPOP3...


6-1142432663
www111
2006-03-15 17:24
2006.07.23
Indy 10 передача и прием данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский