Android のスマホでアプリの操作中、「戻る」ボタンの動作が作動してしまったことありませんか?
画面の下の方にある△のアレですよ!うっかり触れてアプリ終了とかになってしまうアレ!
ヘルプにもありますが、フォーム (TForm) のキーイベント (OnKeyDown または OnKeyUp) で戻るボタンの値 (vkHardwareBack = 137) を検知して、押されたキーを無効 (Key := 0 / Key = 0;)にします。
#個人的には OnKeyDown の方が腑に落ちる
サンプルコード
Delphi
// OnKeyDownイベントで検知する場合
procedure TForm1.FormKeyDown(Sender: TObject; var Key:Word; var KeyChar: Char;
Shift: TShiftState);
begin
if Key = vkHardwareBack then Key := 0;
end;
または
// OnKeyUpイベントで検知する場合
procedure TForm1.FormKeyUp(Sender: TObject; var Key:Word; var KeyChar: Char;
Shift: TShiftState);
begin
if Key = vkHardwareBack then Key := 0;
end;
C++Builder
// OnKeyDown イベントで検知する場合
void __fastcall TForm1::FormKeyDown(TObject *Sender, Word &Key, System::WideChar &KeyChar,
TShiftState Shift)
{
if (Key = vkHardwareBack) { Key = 0; }
}
または
// OnKeyUP イベントで検知する場合
void __fastcall TForm1::FormKeyUp(TObject *Sender, Word &Key, System::WideChar &KeyChar,
TShiftState Shift)
{
if (Key = vkHardwareBack) { Key = 0; }
}