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;
展开
 我来答
ch2001023
2013-04-02 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:120
采纳率:66%
帮助的人:82.2万
展开全部
把代码贴出来看看。
一直闪烁,是因为这个单元一直在不停的重绘,造成这种原因就此单元格的内容不停在的变换。
追问
代码贴在上面了.
追答
从代码上看出,
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?还是其他?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式