win10,win7系统里 程序经常变形,很可能是 windows 缩放比例大于100%,设置windows缩放比例比较麻烦,可以通过注册表设置程序的DPI缩放比例
在处理Delphi程序中TDxFlowchart
控件在缩放设为200%时变形的问题时,可以采取以下几种方法:
-
应用程序清单设置:确保应用程序的
Application.Manifest
中设置为per Monitor V2
,这样应用程序才能正确接收屏幕缩放变化的通知。 -
窗体缩放属性:在Delphi 10.4版本中,窗体有
Scaled
属性,设置为true
表示屏幕缩放时,窗体也会跟着缩放。如果设置为false
,则窗体不会随屏幕缩放比例变化而变化。 -
事件处理:在窗体的
OnAfterMonitorDpiChanged
事件中,可以加入以下代码来处理缩放:delphi
ScaleForCurrentDpi; ScaleControls(OldDPI, NewDPI);
这样即使设置了
Scaled
为true
,也可以在缩放后还原窗口和子控件的大小设置。 -
DPI感知设置:可以通过修改注册表来设置程序的DPI缩放比例。以下是一个示例代码,用于设置程序的DPI为100%,从而避免因Windows缩放比