Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ListBox + color + items

10K
28 ноября 2009 года
In0stRAnez
66 / / 16.02.2008
Подскажите как изменить цвет строчки в листбоксе после щелчка на указанную строчку.?
38K
28 ноября 2009 года
Grass-snake
14 / / 06.08.2008
вот, загуглил как красить ячейки: http://www.delphisources.ru/pages/faq/base/colored_lb.html
там описано как закрашивать ячейки. надеюсь разберешься.
10K
29 ноября 2009 года
In0stRAnez
66 / / 16.02.2008
не, гуглить я тоже умею, нашёл то что нужно))
вот код
Цитата:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
ListBox2: TListBox;
procedure ListBox1Click(Sender: TObject);
procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ListBox1Click(Sender: TObject);
var
LB: TListBox;
begin
LB := TListBox(Sender);
if LB.Items.Objects[LB.ItemIndex]<>nil then Exit;
if LB.Itemindex=-1 then Exit;
if Random(4)<2
then LB.Items.Objects[LB.ItemIndex] := Pointer(clGreen)
else LB.Items.Objects[LB.ItemIndex] := Pointer(clRed);
end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
LB: TListBox;
cl: TColor;
begin
LB := TListBox(Control);
case Integer(LB.Items.Objects[Index]) of
0:
begin
if (odSelected in State)
then cl := clHighLight
else cl := clWindow;
end;
else cl := Integer(LB.Items.Objects[Index]);
end;
LB.Canvas.Brush.Color := cl;
LB.Canvas.FillRect(Rect);
LB.Canvas.TextOut(Rect.Left+2,Rect.Top,LB.Items[Index]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add('asdasdasdasdasd');
end;
end.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог