好久没上坛子了,请教如何自己绘制TListView的Item,回复者给分.我想绘制不同的颜色哦,请进吧!!

maoke000 2003-08-19 05:16:21
关键是我的绘制比较苛刻,如:

标题(Item.Caption) 日期 借阅人
计算机信息管理 2002-05-06 李华平
信息资源管理 2002-09-24 王志军
中国计算机报 2003-04-24 危芳
......


我想把Item.Caption中有关"计算机"的字样标注成蓝色,以示醒目。
我还想把日期中的2002-10-01以前的字样标注成红色,表示此书被借阅人借的时间严重超长。

...全文
47 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
大地精灵 2003-10-11
  • 打赏
  • 举报
回复
你那样就只能用textout了,开始近来时,我以为你是问把背景色换呢
liufuyahong 2003-10-11
  • 打赏
  • 举报
回复
Canvas.pen.color:=clXXX;
canvas.textout(...);
qqmaxmin 2003-10-11
  • 打赏
  • 举报
回复
TMS的东东是什么?哪里有下?
vchoushen6 2003-08-19
  • 打赏
  • 举报
回复
用TMS的东东吧,它可以支持简单的HTML格式。这样你的东西就很容易实现了。
nhdj 2003-08-19
  • 打赏
  • 举报
回复
我对自己画东西这东东感到头疼,帮你up
myling 2003-08-19
  • 打赏
  • 举报
回复
Canvas.pen.Color := clBlue;

然后textout
maoke000 2003-08-19
  • 打赏
  • 举报
回复
感谢楼上的兄弟,可能是我描述错误了.

对 计算机信息管理 字样,我只想把"计算机"三个字绘成蓝色的,其也字样是黑色的
如果这个串里有N个"计算机"字样,那么这N个字样都需要绘成蓝色的.
DWGZ 2003-08-19
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
with ListView1.Items.Add do
begin
Caption := '计算机信息管理';
SubItems.Add('2002-05-06');
SubItems.Add('李华平');
end;
with ListView1.Items.Add do
begin
Caption := '信息资源管理';
SubItems.Add('2002-09-24');
SubItems.Add('王志军');
end;
with ListView1.Items.Add do
begin
Caption := '中国计算机报';
SubItems.Add('2003-04-24');
SubItems.Add('危芳');
end;

end;

procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if (Pos('计算', Item.Caption) > 0) and not (cdsSelected in State) then
Sender.Canvas.Font.Color := clBlue;
end;

procedure TForm1.ListView1AdvancedCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
var
dt: TDate;
begin
if SubItem = 1 then
begin
dt := StrToDate(Item.SubItems[SubItem - 1]);
if dt < StrToDate('2002-10-01') then
Sender.Canvas.Font.Color := clRed;
end
end;
maoke000 2003-08-19
  • 打赏
  • 举报
回复
我一直搞不清楚以下几个事件是分别做什么用的??
OnAdvancedCustomDraw
OnAdvancedCustomDrawItem
OnAdvancedCustomDrawSubItem

OnCustomDraw
OnCustomDrawItem
OnCustomDrawSubItem

OnDrawItem

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧