![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с ListBox [D2005, XP]
Tempora © (2006-05-24 11:50:00)Пытаюсь выделить две строки в ListBox зеленым цветом. Использую указанный ниже код:
procedure TfWorking.log1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if pos(log1.Items[index],'Соединение с FTP установлено') <> 0 then
log1.Canvas.Font.Color:=clGreen;
if pos(log1.Items[index],'Содержимое FTP получено') <> 0 then
log1.Canvas.Font.Color:=clGreen;
if odSelected in State then
log1.Canvas.Font.Color:=clHighlightText;
log1.Canvas.FillRect(Rect);
log1.Canvas.TextOut(Rect.Left,Rect.Top,log1.Items[Index]);
end;
Однако ничего не выделяется.
Просто сравнивать строки if log1.Items[index] ='Содержимое FTP получено' не могу, так как впереди идет текущее время, которое постоянно меняется.
Где я ошибся, подскажите пожалуйста.
Ladan (2006-05-24 16:41:00) [1]
> procedure TForm1.ListBox2DrawItem(Control: TWinControl;
> Index: Integer;
> Rect: TRect; State: TOwnerDrawState);
> var
> myColor: TColor;
> myBrush: TBrush;
> begin
> myBrush := TBrush.Create;
> with (Control as TListBox).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 TListBox).Items[Index]);
> MyBrush.Free;
> end;
> end;
Elen (2006-05-24 12:21:00) [2]Попробуй выставь свойство Listbox1.style:= lbOwnerDrawFixed
Tempora (2006-05-24 12:05:00) [3]ыыыы.....
извиняюсь, перепутал местами что ищу и где ищу.