名前 題名 ▼ Mr.XRAYさん > > 動作仕様的にはよく理解できない仕様ですが, > > ローカルなキーフックを使用して [ESC] を無効にする例です. > > 対象が Delphi の TForm 等のコントロールだけであれば, > TApplicationEvents コンポーネントで可能です. > > > implementation > > uses Unit2; > > {$R *.DFM} > > //============================================================================= > // 別のフォームをモーダル表示 > //============================================================================= > procedure TForm1.Button5Click(Sender: TObject); > var > AForm : TForm2; > begin > AForm := TForm2.Create(Self); > try > AForm.Left := 500; > AForm.Top := 300; > > AForm.ShowModal; > finally > FreeAndNil(AForm); > end; > end; > > //============================================================================= > // キーフック開始 > //============================================================================= > procedure TForm1.Button1Click(Sender: TObject); > begin > FKeyHook := True; > end; > > //============================================================================= > // キーフックを解除 > //============================================================================= > procedure TForm1.Button2Click(Sender: TObject); > begin > FKeyHook := False; > end; > > //============================================================================= > // ApplicationEvents1コンポのOnMessageイベント処理 > //============================================================================= > procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; > var Handled: Boolean); > var > LIsDown : Boolean; > begin > //キーが押された時に処理 > LIsDown := (Msg.LParam and (1 shl 31)) = 0; > if LIsDown then begin > //仮想キーコード > if Msg.wParam = VK_ESCAPE then begin > Handled := FKeyHook; > end; > end; > end; > > end. > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link