WebBrowserコントロールを使用すると、IEに標準で装備されているショートカットも動作するのですが、それのせいで、こちらが新たに設定したショートカットが動作しません。
WebBrowserコントロールのショートカットを無効にするには、どうすればいいのでしょうか?
キーボードショートカットの事であれば、このあたりとか。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200311/03110001.txt
ありがとうございます。
上のアドレス先にある、代替手段の方法でやる場合、「キーボードショートカットが押された時に呼ばれるイベント」というものは、存在するのでしょうか?
色々調べてみたのですが、見つからなくて・・・。
やはり、VC++を使う方法しかないのでしょうか・・・?
>「キーボードショートカットが押された時に呼ばれるイベント」
onkeypressイベント、onkeyupイベント、onkeydownイベントなどがそれにあたります。
その中で、event.keyCode、event.shiftKey等を使って判別してみてください。
また、幾つかの処理に関しては、固有の処理イベントが用意されている物もあります。
# 例えば、クリップボード操作であれば onbeforecopy、onbeforecut、onbeforepaste……とか。
ただし、処理順の関係で、キャンセル可能な処理とキャンセル不可能な処理とがありますので、IDocHostUIHandlerを使った方が無難かも知れません。
# VC++があるなら、WBCustomizerを使うと手軽なのですけれどね。
> VC++を使う方法しかないのでしょうか・・・?
MicrosoftのWBCustomizerサンプルとは別に、Eduardo A. Morcilloさんのライブラリを使った方法を提示してありますが、あれでは参考になりませんか?
とりあえず、一通りのキーボード操作は握りつぶせると思いますよ。
この場合、VB標準のKeyDownイベント等にも処理されなくなってしまいますが、IDocHostUIHandlerのTranslateAcceleratorにて、lpmsg.messageがWM_KEYDOWNであるかどうかを調べ、その時のlpmsg.wParamやlpmsg.lParamを見る事で、VBのKeyDownの代用とできます。
ツイート | ![]() |