2016-12-06 35 views
3

是否可以在运行时在“High-DPi”和“not High-DPi”程序视图之间切换?据我了解,它是在清单文件中确定的,你可以有High-DPi应用程序或没有High-Dpi应用程序,但不能同时拥有它们。我对吗?德尔福在运行时更改high-dpi

回答

3

您可以在运行时使用SetProcessDpiAwareness函数指定此值。或者,对于每台监视器DPI识别率为前的较早的操作系统,有SetProcessDPIAware

请仔细阅读文档。作为一个宽泛的指导方针,建议您不要使用这些函数,而应该更喜欢在清单中指定这个状态。确实需要使用SetProcessDpiAwarenessSetProcessDPIAware

至少您肯定需要在流程的整个生命周期内尽早完成调用。 Windows不仅希望电话尽早发生,但我期望VCL不会被设计为在整个过程的整个过程中适应策略变化。