2015-12-12 4 views
0

Я создаю систему планирования и хочу пометить некоторые конкретные элементы в представлении списка. Например, если текущее время в часах составляет 07:00, тогда в представлении списка будут отображаться все элементы, в которых есть 07:00 AM. Как мне это сделать? Я действительно не знаю, с чего начать. То, что я сейчас это,Как окрасить определенный элемент списка в Delphi?

Посмотреть Расписание View Schedule

+0

См [этот вопрос] (http://stackoverflow.com/questions/13485761/delphi-tlistview-ownerdraw-subitems-change-default-font-its-bold-somehow-aft) для вдохновение. –

ответ

0

Вы можете установить свойство шрифта в OnCustomDrawItem и OnCustomDrawSubItem обработчиков событий. Например:

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; 
    State: TCustomDrawState; var DefaultDraw: Boolean); 
begin 
    if odd(Item.Index) then begin 
    Sender.Canvas.Font.Color := clRed; 
    end; 
end; 

procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; 
    SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); 
begin 
    if odd(Item.Index) then begin 
    Sender.Canvas.Font.Color := clRed; 
    end; 
end;