有没有办法确定滚动条在 TDBGrid 上是否可见

Is there a way to determine if scrollbars are visible on a TDBGrid

我想在 TDBGrid 的右下角显示一些内容,但我不想覆盖滚动条。

是否有确定滚动条是否可见的好方法? (及其大小)

可能最好的方法是使用 ClientRect 属性,它以自己的坐标给出控件的客户端矩形(这意味着 LeftTop 总是 0)。 “客户端矩形”是控件的一部分,不是边框和滚动条。

为了比较,BoundsRect 属性 是父 window 坐标系中 window 的完整矩形。

例如,

pnSnowman.SetBounds(
  DBGrid1.Left + DBGrid1.ClientWidth - pnSnowman.Width - 8,
  DBGrid1.Top + DBGrid1.ClientHeight - pnSnowman.Height - 8,
  pnSnowman.Width,
  pnSnowman.Height
);

结果