这个例子一定适合你,只需自己更改一下颜色算法就可以了。 procedure TForm1.ListView1AdvancedCustomDrawSubItem( Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean); begin if (Item.Index+SubItem) mod 2=0 then Sender.Canvas.Brush.Color:=clYellow else Sender.Canvas.Brush.Color:=clGreen; end;procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean); begin if Item.Index mod 2=0 then Sender.Canvas.Brush.Color:=clRed else Sender.Canvas.Brush.Color:=clBlue; end;
procedure TForm1.ListView1AdvancedCustomDrawSubItem(
Sender: TCustomListView; Item: TListItem; SubItem: Integer;
State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if (Item.Index+SubItem) mod 2=0 then
Sender.Canvas.Brush.Color:=clYellow
else
Sender.Canvas.Brush.Color:=clGreen;
end;procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
if Item.Index mod 2=0 then
Sender.Canvas.Brush.Color:=clRed
else
Sender.Canvas.Brush.Color:=clBlue;
end;
对不起,上面的是我贴错地方了。这里给你一个解决办法。
——————————————————————————
可以自己写脚本控制,例如:
...
SdShowInfoList:
...
Dlg_SdRegisterUserEx:
MySerial="MySerial";//修改这里为你自己的序列号
szMsg = "";
szTitle = "";
svSerial="";
nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );
if (svSerial!=MySerial) then
nResult = SprintfBox(SEVERE,"错误","%s","序列号不正确,请重新输入!");
goto Dlg_SdRegisterUserEx;
endif;
if (nResult = BACK) goto Dlg_SdShowInfoList;
...