Главная страница
    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.103 c
15-1151096439
SlyHide
2006-06-24 01:00
2006.07.23
Как зделать компонент содержащий два других


6-1142275793
Новочеркасский Волк
2006-03-13 21:49
2006.07.23
Как заставить два TClientSocket отправлять одновременно текст!!!


2-1151342750
Gizza
2006-06-26 21:25
2006.07.23
Свернуть все окна


3-1147900302
student000
2006-05-18 01:11
2006.07.23
Обновление StatusBar


15-1148326662
Pavia
2006-05-22 23:37
2006.07.23
ОС на паскале?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский