gpt4 book ai didi

delphi - Delphi 内置组件中的滚动条有问题

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

在我的 Delphi 10.2 VCL 应用程序中,默认的现代 Windows10 VCL 样式似乎存在问题。在内置的 Delphi 组件上,例如 TFontDialog,用户无法在下拉组件中使用垂直滚动。箭头无法点击,滚动条无法拖动,只能用鼠标滚轮上下滚动。如果我使用旧的 VCL 样式(例如旧的 XP 样式 Windows),这不是问题,用户可以使用所有控件,一切都按预期工作。

TFontDialog 示例

TFontDialog.Create(Form1);
TFontDialog.Execute;

faulty scrollbars in a fontdialog

颜色下拉组件中的垂直滚动不可用(以红色突出显示),只能使用鼠标滚动,用户无法单击箭头或拖动滚动条。

TOpenPictureDialog 示例

TOpenPictureDialog.Create(Form1);
TOpenPictureDialog.Execute;

faulty scrollbars in a picturedialog

下拉组件中的垂直滚动不可用(以红色突出显示)。

BrowseForFolder 示例

TDirectoryListBox.directory := BrowseForFolder('Choose a folder', '', false);

faulty scrollbars in browseforfolder

颜色下拉组件中的垂直滚动不可用(以红色突出显示),只能使用鼠标滚动,用户无法单击箭头或拖动滚动条。

我尝试了 @RRUZ 的建议来响应不同的问题( Delphi 10 Seattle - Vista Dialogs bug with VCL Styles )来添加 VCL Styles Utils项目文件,但我无法检测到我的使用部分中的附加文件有任何更改。

编辑:Delphi 10.2版本25.0.29899.2631

最佳答案

这并不能解决问题,但作为一种解决方法,我可以接受。 @AndreasRejbrand 在他的评论中建议我不使用 VCL 样式。我不能这样做,但我从他那里得到了禁用相关组件样式的想法。

How to disable vcl styles on external dll forms in delphi中描述的@RRUZ如何清空 TStyleManager.SystemHooks 和 @AriochDelphi. How to disable Vcl Themes for TFileOpenDialog and TOpenDialog 中描述的如何将特定组件的 TStyleManager.SystemHooks 设为 null。这导致我在 TForm1.FormCreate 中找到了以下解决方法:

with TStyleManager do
SystemHooks := SystemHooks - [shDialogs];

TFontDialog 看起来没有太大不同(除了向下箭头),但垂直滚动条现在功能齐全。

working vertical scrollbar

关于delphi - Delphi 内置组件中的滚动条有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49627311/

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