内置Delphi组件中的错误滚动条

内置Delphi组件中的错误滚动条,delphi,vcl,vcl-styles,Delphi,Vcl,Vcl Styles,在我的Delphi 10.2 VCL应用程序中,默认的现代Windows10VCL样式似乎有问题。在内置的Delphi组件上,如TFontDialog,用户不能在下拉组件中使用垂直滚动。箭头不能点击,滚动条不能拖动,只能用鼠标滚轮上下滚动。如果我使用的是较旧的VCL样式(例如旧的XP样式Windows),则这不是问题,用户可以使用所有控件,并且一切正常 TFontDialog示例 颜色下拉组件中的垂直滚动不可用(以红色突出显示),只能使用鼠标滚动,用户无法单击箭头或拖动滚动条 TOpenPic

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

TFontDialog示例

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

TOpenPictureDialog示例

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

BrowseForFolder示例

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

我尝试了@RRUZ针对另一个问题()提出的建议,以添加项目文件,但在“我的使用”部分,我无法检测到其他文件的任何更改


编辑:Delphi 10.2版本25.0.29899.2631

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

@RRUZ在如何为特定组件的TStyleManager.SystemHooks和@arioch设置空值中进行了描述。在如何为特定组件设置空值中进行了描述。这使我在
TForm1.FormCreate
中找到了以下解决方法:

使用TStyleManager do
SystemHooks:=SystemHooks-[shDialogs];
TFontDialog
看起来没什么不同(除了向下箭头),但是垂直滚动条现在已经完全正常工作了


无法在10.2.2中复制。不过,一个很好的解决办法是不使用VCL样式。不幸的是,应用程序允许用户切换样式,但我将尝试禁用相关组件的VCL样式
TFontDialog.Create(Form1);
TFontDialog.Execute;
TOpenPictureDialog.Create(Form1);
TOpenPictureDialog.Execute;
TDirectoryListBox.directory := BrowseForFolder('Choose a folder', '', false);