Delphi FMX检测屏幕旋转

2022-12-28 09:19:10 作者:admin

本文整理自网络,侵删。

 关于如何使用Delphi开发的智能手机应用程序检测屏幕旋转的备忘录。
环境:Delphi 10.3 Rio
方法当设备的屏幕方向更改时,将发送FMX.Forms.TOrientationChangedMessage。如果您能收到此消息,则可以进行判断。
System.Messaging.TMessageManager负责应用程序的消息处理。您可以在其中注册TOrientationChangedMessage的处理方法。作为程序
获取TMessageManager的实例调用TMessageManager.SubscribeToMessage来注册消息的方法用一种处理方法执行屏幕旋转检测处理若要取消消息的方法,请将调用TMessageManager.SubscribeToMessage时获得的消息ID传递给TMessageManager.Unsubscribe。实施实例unit MainU;
interface
uses  ...(省略), System.Messaging;
type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);    procedure FormDestroy(Sender: TObject);  private    { private }    /// <summary>    ///  TOrientationChangedMessageのID    /// </summary>    FOrientationChangedId: Integer;
    /// <summary>
    /// </summary>    procedure OrientationChangedHandler(const Sender: TObject; const Msg: TMessage);  public    { public }  end;
var  Form1: TForm1;
implementation
{$R *.fmx}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);begin  // TMessageManager  // TMessageManager.DefaultManager  // TOrientationChangedMessage  FOrientationChangedId :=    TMessageManager.DefaultManager.SubscribeToMessage(      TOrientationChangedMessage, OrientationChangedHandler);end;
procedure TForm1.FormDestroy(Sender: TObject);begin  // OrientationChangedHandler  TMessageManager.DefaultManager.Unsubscribe(    TOrientationChangedMessage, FOrientationChangedId);end;
procedure TForm1.OrientationChangedHandler(const Sender: TObject; const Msg: TMessage);begin  ShowMessage('方向发生改变!');end;
end.

相关阅读 >>

Delphi在64位系统下写注册表注意事项

Delphi savelog 方便的记录日志

Delphi实现win10下Delphi 10.3.1 inline hook 调试器法获取寄存器并修改

Delphi 在单独线程中运行窗体

Delphi gb2312 编码转义url字符串

Delphi webbroker iis cgi 的配置

Delphi listview 导出excel txt vcf 单元

Delphi unigui form控件跳转

Delphi判断字符串是否包含限制以外的字符 否则置空

Delphi 实现代码重启android app

更多相关阅读请进入《Delphi》频道 >>



在线咨询 拨打电话