【问题标题】:How to get screen resolution in Firemonkey XE3?如何在 Firemonkey XE3 中获得屏幕分辨率?
【发布时间】:2012-10-09 17:09:47
【问题描述】:

如何获得 Firemonkey 2 (Delphi XE3) 中的屏幕分辨率?

【问题讨论】:

    标签: delphi firemonkey delphi-xe3


    【解决方案1】:

    这一切都在 XE3 中改变了。平台支持已彻底检修。请参阅Pawel Glowacki's article 了解更多信息。

    var
      ScreenSvc: IFMXScreenService;
      Size: TPointF;
    begin
      if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenSvc)) then
      begin
        Size := ScreenSvc.GetScreenSize;
        ....
      end;
    end;
    

    尽管进行了大修,但如果您有多台显示器,这仍然没有多大用处。或许在 FMX2 中有一些 multimon 支持,但显然在 IFMXScreenService 中不可用。

    【讨论】:

    • 在XE3平台上没有GetScreenSize方法。
    • 在FMX.PlatForm.IFMXScreenService。
    • 抱歉,我正在清楚地查看 XE2 文档。现在更新更正了这一点。
    • 哦,谢谢,它正在工作。我可以在没有 Windows 开始面板的情况下获得屏幕高度(宽度)吗?
    • @Wayfer 据我所知没有。但是,您可以使用新的基于注册表的平台服务来注册您自己的插件,该插件将报告该情况。您必须为 Windows 和 Mac 以及任何其他目标编写条件代码。但这将允许您拥有不需要了解平台变化的高级代码。致电Platform.TPlatformServices.AddPlatformService 注册新服务。
    猜你喜欢
    • 2011-11-10
    • 2011-04-10
    • 2012-01-31
    • 2013-09-30
    • 2014-10-25
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 2020-10-05
    相关资源
    最近更新 更多