我有一个从 TScrollBox 派生的自定义控件。在运行时,我需要知道垂直滚动条是否可见。如果我询问 Visible 属性,它总是返回 true,无论滚动条是否可见!
function TMyScrollPanel.ScrollVisible: boolean;
begin
Result:= Self.VertScrollBar.Visible; <----------- always true
end;
但是,这可以正常工作:
function VertScrollBarVisible(WindowHandle: THandle): Boolean;
begin
Result:= (GetWindowlong(WindowHandle, GWL_STYLE) AND WS_VSCROLL) <> 0
end;
第一个功能有什么问题?