紧急情况,高手们请看看。(50分)

  • 主题发起人 主题发起人 tiger_520
  • 开始时间 开始时间
T

tiger_520

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:(在stringgrid的drawcell事件中)
k:=stringgrid1.colcount-1;
if (Acol=k) then
begin
if (stringgrid1.cells[k,Arow]='1') and (stringgrid1.cells[k-1,Arow]='0')
and(stringgrid1.cells[k-2,Arow]='1')and(stringgrid1.cells[k-3,Arow]='0') then
begin
stringgrid1.canvas.brush.color:=clred;
stringgrid1.fillrect(stringgrid1.cellrect[k,Arow]);
stringgrid1.canvas.textout(rect.top,rect.left,stringgrid1.cells[k,Arow]);
stringgrid1.canvas.brush.color:=clred;
stringgrid1.fillrect(stringgrid1.cellrect[k-1,Arow]);
stringgrid1.canvas.textout(rect.top,rect.left,stringgrid1.cells[k-1,Arow]);
stringgrid1.canvas.brush.color:=clred;
stringgrid1.fillrect(stringgrid1.cellrect[k-2,Arow]);
stringgrid1.canvas.textout(rect.top,rect.left,stringgrid1.cells[k-2,Arow]);
stringgrid1.canvas.brush.color:=clred;
stringgrid1.fillrect(stringgrid1.cellrect[k-3,Arow]);
stringgrid1.canvas.textout(rect.top,rect.left,stringgrid1.cells[k-3,Arow]);
end;
end;
本来要达到的要求是将stringgrid一列中的连续cells中的内容为1、0、1、0的CELLS变成红色
可是我却只能将第一个CELLS变成红色。该如何编写这段代码,能够将1、0、1、0都变成红色啊~~谢谢
 
没有循环吧?
 
stringgrid中的行列并不确定,列数肯定多于6列
 
k:=stringgrid1.colcount-1;
if ((Acol<=k) and (Acol>=k-3)) then
/////////////////////////
begin
if (stringgrid1.cells[k,Arow]='1') and (stringgrid1.cells[k-1,Arow]='0')
and(stringgrid1.cells[k-2,Arow]='1')and(stringgrid1.cells[k-3,Arow]='0') then
begin
stringgrid1.canvas.brush.color:=clred;
stringgrid1.fillrect(Rect);
////
stringgrid1.canvas.textout(rect.Left+2,rect.Top+2,stringgrid1.cells[ACol,Arow]);
//// /// /////
end;
end;


应该可以了,发那么多干什么?还有什么问题。
 
我第一次在富翁论坛发东西啊~~不知道原来帖子是显示在一起的~~呵呵
 
if (stringgrid1.cells[k,Arow]='1') and (stringgrid1.cells[k-1,Arow]='0')
0 1
and(stringgrid1.cells[k-2,Arow]='1')and(stringgrid1.cells[k-3,Arow]='0') then
0 1

可能是 1 0 1 0 的顺序不对!



stringgrid1.Canvas.fillrect(Rect);
/////
 
接受答案了.
 
后退
顶部