こんにちは
TWebBrowserでWebページを表示した後に、ユーザからの
キー操作を無効にしたいと考えています。
Popup Menuの無効はできたのですが、「バックスペース」、
「F5」、「Ctrl+N」等のキー操作を無効にしたいのですが
やり方がわかりません。
よろしくお願いします。
>Popup Menuの無効はできたのですが...
それができてるんなら、
>「バックスペース」、「F5」、「Ctrl+N」等のキー操作を無効...
にすることは簡単にできると思うけど。
>Popup Menuの無効はできたのですが、「バックスペース」、
>「F5」、「Ctrl+N」等のキー操作を無効にしたいのですが
Popup Menuを無効にするのに,おそらくマウスメッセージのフック(捕捉)を行っていると思います.
同じように,キー操作を無効にしたり,変更するには,キーフックを行う必要
があるでしょう.
Delphiの多くのコントロール(コンポーネント)では,これらのマウスやキーの
メッセージを処理するために,OnMouseDown,OnKeyDownなどのイベントを利用
できますが,WebBrowserに表示したIEではこれがありません.
したがって,自分でコーディングする必要があります.
フック関数にもいろいろありますが,多分 WH_KEYBOARDあたりが適切ではない
かと思います.
以下に,フック関数の簡単な説明を書いていますので参考にして下さい.
http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/KindOfHook.htm
TApplicationEvents のOnMessage イベントを使用する方法
http://www.swissdelphicenter.ch/en/showcode.php?id=2360
あれっ,TApplicationEventのOnMessageでいいんですね.
Popup Menu(マウス?)の処理にフックを使用しているものとばかり思っていました.
返信ありがとうございます。
えーとねさんの投稿URLを参考にさせていただきました。
Mr.XRAYさんいつも教えて頂いてありがとうございます。
今回もまた参考にさせて頂きました。
ツイート | ![]() |