delphi7 stringgird控件,我想让某一行或者某一列的线条变粗,有办法实现么?

自带的控件没这个功能,第三方控件Rzstringgird也没有貌似。只改变一条线的粗细和颜色。... 自带的控件没这个功能,第三方控件Rzstringgird也没有貌似。
只改变一条线的粗细 和颜色。
展开
 我来答
bfmabc123
2015-06-03 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:77.1万
展开全部
这个简单
在StringGrid的OnDrawCell事件写代码
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; Col, Row: Longint; Rect: TRect; State: TGridDrawState);
begin

if Col=? then //某列
begin
with Canvas do
begin
//在Rect的最左和最右画竖线
end;
end;
//行用Row,在Rect的顶部和底部画横线
end;
追问
是直接Rect.left:=?赋值么?赋值没反应啊。
追答
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
//第四列,不画标题行
if (ACol = 3) and (ARow 0) then
begin
with StringGrid1.Canvas do
begin
StringGrid1.Canvas.Pen.Color:=clRed;//颜色可以自己改
StringGrid1.Canvas.Pen.Width := 1;//宽度可以自己改
//画左边线
MoveTo(Rect.Left, Rect.Top);
LineTo(Rect.Left, Rect.Bottom);
//画右边线
MoveTo(Rect.Right, Rect.Top);
LineTo(Rect.Right, Rect.Bottom);
end;
end;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式