delphi中StringGrid1DrawCell中cells[2, ARow]:='长度不正确';一直闪烁....
Slist:=TStringlist.Create;withStringGrid1dobeginstr1:=cells[2,ARow];Slist.Delimiter:=...
Slist := TStringlist.Create;
with StringGrid1 do begin
str1 := cells[2, ARow];
Slist.Delimiter := ','; //
Slist.DelimitedText := str1; //
for i := 0 to Slist.Count - 1 do begin
if Slist.Count <> 3 then begin //
Canvas.Font.Color := clred;
Canvas.TextOut(Rect.left + 2, Rect.top + 2, cells[ACol, ARow]);
cells[3, ARow]:='不正确';
end else begin
if strtoint(Slist[i]) > 9 then begin
Canvas.Font.Color := clred;
Canvas.TextOut(Rect.left + 2, Rect.top + 2, cells[ACol, ARow]);
end;
end;
end;
end; 展开
with StringGrid1 do begin
str1 := cells[2, ARow];
Slist.Delimiter := ','; //
Slist.DelimitedText := str1; //
for i := 0 to Slist.Count - 1 do begin
if Slist.Count <> 3 then begin //
Canvas.Font.Color := clred;
Canvas.TextOut(Rect.left + 2, Rect.top + 2, cells[ACol, ARow]);
cells[3, ARow]:='不正确';
end else begin
if strtoint(Slist[i]) > 9 then begin
Canvas.Font.Color := clred;
Canvas.TextOut(Rect.left + 2, Rect.top + 2, cells[ACol, ARow]);
end;
end;
end;
end; 展开
1个回答
展开全部
把代码贴出来看看。
一直闪烁,是因为这个单元一直在不停的重绘,造成这种原因就此单元格的内容不停在的变换。
一直闪烁,是因为这个单元一直在不停的重绘,造成这种原因就此单元格的内容不停在的变换。
追问
代码贴在上面了.
追答
从代码上看出,
1,创建一个TStringList,
2,利用TStringList的Delimter的功能,将cells[2, ARow]此单元格的内容,通过','将其拆分,
3,利用一个循环,判断TStringList的Count,哪请问为什么要用一个循环来判断TStringList.Count,
Canvas.TextOut(Rect.left + 2, Rect.top + 2, cells[ACol, ARow]);此句,是针对的哪个Canvas?Form?还是TStringGrid?还是其他?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询