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;
最初の関数の何が問題になっていますか?