テキストボックスを右クリックすると表示されるポップアップメニューを削除するには?

解決


ゆうき  2003-07-16 02:44:22  No: 107785

テキストボックスを右クリックすると、切り取り・コピー・貼り付け等のメニューが表示されますが、選択不可にするかもしくはメニュー自体を表示させたくないのです。テキストボックスの上で右クリック無効にするのでも構わないのですが・・・
どのようにすればよろしいでしょうか?
どなたかアドバイス宜しくお願い致します。


魔界の仮面弁士  2003-07-16 03:40:05  No: 107786

簡単なのは、TextBoxの替わりに、RichTextBoxを使うという回避策です。
プロパティの指定だけで、標準のメニューが表示されないように出来ます。

TextBoxでやるなら、
http://support.microsoft.com/?kbid=191670
のようにして、既定のメニューの表示を置き換えるか、もしくは
サブクラス化して、WM_CONTEXTMENU を握りつぶすか、ですね。

キーボードの[アプリケーション]キーや、[Shift + F10]なども
潰したいのであれば、RichTextBox で代用する方法か、
WM_CONTEXTMENU を潰すかの、いずれかになるかと。


ゆうき  2003-07-18 03:55:28  No: 107787

申し訳ありません、RichTextBoxをどうやってフォームに
付けたら良いのかわかりません。参照設定でRichtx32.ocxという
のを設定したのですが、どこにコントロールが表示されるのですか?
ツールボックスはいつもと変わりません。
宜しくお願い致します。


魔界の仮面弁士  2003-07-18 04:02:09  No: 107788

「参照設定」ではなく、「コンポーネントの追加」ですよ。(^^;
VB6であれば、以下のいずれかの操作を行えば、ダイアログが表示されます。

  ・Ctrlキーを押しながら、Tキーを押す。
  ・[プロジェクト]メニューにある[コンポーネント]を選択する。
  ・ツールボックスを右クリックして、[コンポーネント]を選択する。


ゆうき  2003-07-18 19:34:59  No: 107789

有難うございます、RichTextBoxを使用することができました。
またその際、右クリック時にコピーのみを使用したいのですが、
コピーだけを表示する事は可能でしょうか?
大変申し訳ありませんがご回答宜しくお願い致します。


魔界の仮面弁士  2003-07-18 21:23:22  No: 107790

右クリックされた時(MouseUpイベント)に、
PopupMenu メソッドで独自のメニューを表示させましょう。


ゆうき  2003-07-18 21:57:02  No: 107791

魔界の仮面弁士さん

大変お世話になりました、RichTextBoxのプロパティを設定し
独自のメニューのみを表示することができました。
後はコピーを押した時にCtrl+Cと同じ処理ができればよいのだと
思います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加