加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在德尔福获得定制DPI百分比

发布时间:2020-12-15 03:56:15 所属栏目:大数据 来源:网络整理
导读:尝试使用我的Delphi 2010应用程序更多的用户freidly在 Windows 7中的高DPI模式我一直在尝试几种方法来检索PixelsPerInch和96比较.唉,无论我试过我总是得到96.我的问题是: 获取定制DPI模式的最佳做法是什么? 事实上,我得到了一个常数96无论我什么意思是意味
尝试使用我的Delphi 2010应用程序更多的用户freidly在 Windows 7中的高DPI模式我一直在尝试几种方法来检索PixelsPerInch和96比较.唉,无论我试过我总是得到96.我的问题是:

>获取定制DPI模式的最佳做法是什么?
>事实上,我得到了一个常数96无论我什么意思是意味着我失去了一些东西?

这是我试过的

dpiX := Form1.PixelsPerInch

dpiX := Screen.PixelsPerInch

最后:

D2DFactoryOptions.DebugLevel := D2D1_DEBUG_LEVEL_NONE;
pD2DFactoryOptions := @D2DFactoryOptions;
if D2D1CreateFactory(
    D2D1_FACTORY_TYPE_SINGLE_THREADED,IID_ID2D1Factory,PD2DFactoryOptions,D2DFactory
    ) <> S_OK then exit;
D2DFactory.GetDesktopDpi(dpiX,dpiY)

小心猜测?这是正确的dpiX是一个常数96在100%,125%和150%

请指教.

解决方法

我认为您需要通过将您的应用程序包含在您的应用程序清单中来将您的应用程序标记为高DPI感知:
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <dpiAware>true</dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

宣布DPI意识的细节为here.

看来你现在正在回归所谓的DPI Virtualization.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读