Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

listbox [D6, Win95/98, NT4, Win2k]


user965 ©   (2002-08-07 12:49:00) 

есть две кнопки задача что-бы в listbox информация писалась разным цветом, сейчас я использую процедуру но она чередует цвета :-(( подскажите как сделать что-бы те строки которые были введены одной кнопкой были одного цвета , а которые были введены другой кнопкой другово никак не могу допереть ???????? помогите плз

procedure TForm1.vg2ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
myColor: TColor;
myBrush: TBrush;
begin
myBrush := TBrush.Create;
with (Control as Tvg2ListBox).Canvas do
begin
if not Odd(Index) then
myColor := clRed
else
myColor := clYellow;
myBrush.Style := bsSolid;
myBrush.Color := myColor;
Windows.FillRect(handle, Rect, myBrush.Handle);
Brush.Style := bsClear;
TextOut(Rect.Left, Rect.Top,
(Control as Tvg2ListBox).Items[Index]);
MyBrush.Free;
end;
end;


MBo   (2002-08-07 12:58:00) [1]

Рассуждаем логически - для решения задачи необходимо хранить информацию о способе добавления строки. Где можно хранить этот признак? Items типа TStrings имеют свойство Objects, представляющее собой указатели, вот в них и можно записывать, например,
Items.AddObject(SomeString, pointer(1))
для первого способа, и Pointer(2) для второго, а в DrawItem проверять Integer(Objects[Index]) и далее понятно...


Наверх

Титульная страница Поиск, карта сайта Написать письмо