确定,如果控件上显示horz / vert滚动条?

时间:2015-02-24 07:52:30

标签: lazarus

此类WinAPI文章介绍了如何查看是否显示了h / v滚动条:http://support.microsoft.com/kb/299686 我需要相同的信息但是对于Lazarus控件(Win / Linux,控件是TMemo,TScrollbox,TListview ......)。怎么样?

1 个答案:

答案 0 :(得分:0)

需要使用a)LCLType,b)LCLIntf, 然后使用句柄

调用GetScrollInfo
function form1.GetScrollbarVisible(ForVertBar: boolean): boolean;
const
  cKind: array[boolean] of integer = (SB_HORZ, SB_VERT);
var
  si: TScrollInfo;
begin
  FillChar(si, SizeOf(si), 0);
  si.cbSize:= SizeOf(si);
  si.fMask:= SIF_ALL;
  GetScrollInfo(Handle, cKind[ForVertBar], si);
  Result:= Longword(si.nMax) > Longword(si.nPage);
end;