gpt4 book ai didi

delphi - VertScrollBar.Visible 始终返回 TRUE

转载 作者:行者123 更新时间:2023-12-03 15:46:43 25 4
gpt4 key购买 nike

我有一个从 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;

第一个函数有什么问题?

最佳答案

读取滚动条 Visible 属性仅检索 VCL 控件状态。该属性不会从实际滚动条窗口检索当前状态。请改用 IsScrollBarVisible 属性。

使用 IsScrollBarVisible 方法来检查滚动条是否可见,因为可滚动窗口可以滚动。

读取Visible属性只会检索其可见性设置的缓存值(可以是可见的,也可以是不可见的)。对于可滚动窗口,该属性不会从实际窗口检索当前状态。

关于delphi - VertScrollBar.Visible 始终返回 TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com