Delphi XE5 for Android (二)按照Embarcadero的說法:Windows平臺只能使用VCL,Windows、iOS和Android都可以使用FMX,并且VCL和FMX不能同時在一個程序中。FMX的用法與VCL有一定的差異,先從最簡單的說起: 應(yīng)用程序的關(guān)閉退出 在VCL中,關(guān)閉程序的主窗體也就意味著程序的主循環(huán)結(jié)束,主程序自然而然結(jié)束。所以在主窗體中使用窗體的關(guān)閉函數(shù)(Close)即可,如下: procedure TfrmMain.btncloseClick(Sender: TObject);
在FMX中,由Activity替代了Form的概念,雖然TForm類仍然存在,但MainForm通過關(guān)閉函數(shù)無法結(jié)束程序,使用Application.Terminate均無效,調(diào)整為: uses procedure TForm2.SpeedButton1Click(Sender: TObject); 此時程序直接關(guān)閉了,如果需要在退出前詢問一下,可以參考VCL中的做法,在按鈕事件中仍然使用關(guān)閉函數(shù),在OnCloseQuery事件中詢問是否退出,在OnClose事件中實現(xiàn)程序的關(guān)閉,如下: uses procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure TfrmMain.btncloseClick(Sender: TObject);
procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word; //當(dāng)按下硬件鍵盤的返回按鈕時,關(guān)閉當(dāng)前窗體
在虛擬機中運行如下:
0
0
(請您對文章做出評價)
|
|
|