使用Delphi 2010我使用资源模板方法定制了TSaveDialog,如Delpi的ExtDlgs中的TOpenPictureDialog所示。 模板方法允许我在系统保存对话框中成功插入包含多个控件的表单。只要Windows DPI设置为96,这就可以正常工作。使用用户定义(文本)缩放或hdpi监视器,插入的表单只能部分可见。这当然是由于Form.Scaled = True导致表单加控件缩放(变大)。目前,模板文件(例如TOpenPictureDialog中使用的默认文件)包含固定大小的对话框和静态文本元素,用于定义插入表单将占用的空间。
我可以想到几个解决方法:
最好的解决方案可能是在对话框加载之前在内存中调整该模板大小(基于Screen.PixelsPerInch / 96)的方法。 是这样的吗?