本文整理自网络,侵删。
关于如何使用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 xe system.netencoding 字符串base64编码解码
Delphi richedit控件中插入图片bmp(bmp,文件),gif(文件)
Delphi的tclientsocket组件和tserversocket组件(c/s)说明
Delphi代码,直截注入别的进程,之后直截运行在别的进程中的代码
更多相关阅读请进入《Delphi》频道 >>