テキストボックスを右クリックすると、切り取り・コピー・貼り付け等のメニューが表示されますが、選択不可にするかもしくはメニュー自体を表示させたくないのです。テキストボックスの上で右クリック無効にするのでも構わないのですが・・・
どのようにすればよろしいでしょうか?
どなたかアドバイス宜しくお願い致します。
簡単なのは、TextBoxの替わりに、RichTextBoxを使うという回避策です。
プロパティの指定だけで、標準のメニューが表示されないように出来ます。
TextBoxでやるなら、
http://support.microsoft.com/?kbid=191670
のようにして、既定のメニューの表示を置き換えるか、もしくは
サブクラス化して、WM_CONTEXTMENU を握りつぶすか、ですね。
キーボードの[アプリケーション]キーや、[Shift + F10]なども
潰したいのであれば、RichTextBox で代用する方法か、
WM_CONTEXTMENU を潰すかの、いずれかになるかと。
申し訳ありません、RichTextBoxをどうやってフォームに
付けたら良いのかわかりません。参照設定でRichtx32.ocxという
のを設定したのですが、どこにコントロールが表示されるのですか?
ツールボックスはいつもと変わりません。
宜しくお願い致します。
「参照設定」ではなく、「コンポーネントの追加」ですよ。(^^;
VB6であれば、以下のいずれかの操作を行えば、ダイアログが表示されます。
・Ctrlキーを押しながら、Tキーを押す。
・[プロジェクト]メニューにある[コンポーネント]を選択する。
・ツールボックスを右クリックして、[コンポーネント]を選択する。
有難うございます、RichTextBoxを使用することができました。
またその際、右クリック時にコピーのみを使用したいのですが、
コピーだけを表示する事は可能でしょうか?
大変申し訳ありませんがご回答宜しくお願い致します。
右クリックされた時(MouseUpイベント)に、
PopupMenu メソッドで独自のメニューを表示させましょう。
魔界の仮面弁士さん
大変お世話になりました、RichTextBoxのプロパティを設定し
独自のメニューのみを表示することができました。
後はコピーを押した時にCtrl+Cと同じ処理ができればよいのだと
思います。
ツイート | ![]() |