请教:关于grid的问题?

var_001 2001-10-16 05:01:36
一个stringgrid(例如)被重画后,输入数据时焦点处的区域总是复盖重画的表格线,这是为什么,应如何解决?

重画代码如下:

procedure Tpep_w.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
stringgrid1.canvas.Pen.Color:=clBtnText;
stringgrid1.Canvas.Pen.Width:=1;
stringgrid1.canvas.MoveTo (rect.left,rect.top);
stringgrid1.canvas.LineTo (stringgrid1.Width,rect.top);
stringgrid1.Canvas.Pen.Color:=clBtnText;
stringgrid1.Canvas.MoveTo (rect.right,rect.top);
stringgrid1.Canvas.LineTo (rect.right,stringgrid1.height);
end;
...全文
39 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dq 2001-10-16
  • 打赏
  • 举报
回复
这是因为你没有考虑它本身的格线,即你的GridLineWidth至少为1,至于怎么解决看你实际的要求了。
你可以先把GridLineWidth设得大一点儿,这样可以帮助你把问题看得更清楚,从而决定取哪边舍哪边。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧