起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: crystal

【结贴】TStringGrid 的 DrawCell 属性**

[复制链接]
发表于 2008-11-14 14:45:38 | 显示全部楼层
别争执了。点不出来是正常的,delphi6和delphi7应该都可以编译通10楼代码
  StringGrid1.OnDrawCell:=StringGrid1DrawCell;   //恢复事件的地址
这句。
x3也可以,
……
  public
  procedure test(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
    {public declarations}
  end;

implementation


procedure TMainForm.test(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin

end;
procedure TMainForm.BizFormCreate(Sender: TObject);
begin
  StringGrid1.OnDrawCell:=test;
end;
我的测试代码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-14 14:57:08 | 显示全部楼层
还是不行啊,我原来第5行有内容的,现在还在不可显示

啊3.jpg

15.9 KB, 下载次数: 64

回复 支持 反对

使用道具 举报

发表于 2008-11-14 14:59:45 | 显示全部楼层
你调试下,如果代码跳进了你想指向的函数里面,那就是你代码的问题了。如果没跳进来,我们再找问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-14 15:25:48 | 显示全部楼层
没跳进去~我现在这样写是否正确呢?
................
  public
    procedure test(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
  end;

procedure TQCCWSJ.test(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
    Dialogs.ShowMessage(' ');
end;


procedure TQCCWSJ.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  c,q: integer;
begin
if(ARow=5)and(ACol>0)then     
   begin
      StringGrid1.Canvas.Brush.Color:=$FFECDD;
      StringGrid1.Canvas.FillRect(Rect);         
      StringGrid1.OnDrawCell:=nil;     
      try
          StringGrid1.OnDrawCell:=test;
      finally
          StringGrid1.OnDrawCell:=StringGrid1DrawCell;   
      end;
   end;

end;




行的颜色改变了。但是还是12楼,而且不弹出提示框
回复 支持 反对

使用道具 举报

发表于 2008-11-14 16:20:26 | 显示全部楼层
StringGrid1.Canvas.FillRect(Rect);
你这个把字都盖住了。
回复 支持 反对

使用道具 举报

发表于 2008-11-14 16:22:10 | 显示全部楼层
楼主,我做了一个简单的测试,不知道是否是你要的效果

新建文件夹.rar

7.94 KB, 下载次数: 20

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-14 16:22:29 | 显示全部楼层
回 15 楼: StringGrid1.Canvas.FillRect(Rect); 不是用 画颜色的?
回 16楼:我去试下
回复 支持 反对

使用道具 举报

发表于 2008-11-14 16:37:04 | 显示全部楼层
FillRect这个是填充一个矩形区域。填充,不留缝隙的。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-14 17:03:52 | 显示全部楼层
回16楼,效果可以实现,我已经按照来改了。现在已经实现想要的效果了。

结贴,,谢谢。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 12:34 , Processed in 0.043231 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表