右クリックメニューのカスタマイズ

解決


ppp  2004-01-20 21:09:27  No: 6843

右クリックした時に、コンテキストメニューが表示されますが、
EditやMemo等のコンポーネントで表示される右クリックメニューを
カスタマイズする方法をご存知の方いましたら、教えて下さい。

ショートカットやアイコンなどを右クリックして拡張子によって
メニューをカスタマイズする方法は調べてわかりましたが、
EditやMemo等の時に表示されるメニューのカスタマイズ方法が
判りませんでした。

宜しくお願い致します

OS WinXP  D5Pj


にしの  2004-01-20 21:47:37  No: 6844

PopupMenuプロパティに、TPopupMenuのオブジェクトを設定してやればカスタマイズできます。
ただし、必要な項目にも(例えばコピーなども)、コーディングが必要になります。
# 既存のPopupに追加する形式ではありません

余談ですが、D5Pjだと、Delphi5 Personal(日本語版)なのか、Delphi5 Professional(日本語版)なのかわかりにくくありませんか?
Delphi5に、Personalがあるかどうかは未確認ですが・・・。


ppp  2004-01-20 23:10:44  No: 6845

回答有難う御座います

> PopupMenuプロパティに、TPopupMenuのオブジェクトを設定してやればカスタマイズできます。
> ただし、必要な項目にも(例えばコピーなども)、コーディングが必要になります。
> # 既存のPopupに追加する形式ではありません

私の説明が悪くすみません。
この内容については、判ります。
やりたい内容は、たとえば、
このwebに表示されている文字をコピーしたいとき、
右クリックするとコピーとか全て選択とかのメニューが表示されますが、
(このサイトの発言する領域で、右クリックすると表示されるメニューなど)
この表示されるメニューをカスタマイズしたいのです。
通常?右クリックすると(順不動)、
コピー
貼り付け
全て選択
と表示されますが、
コピー
コピー2  ←追加したいメニュー(例)
貼り付け
全て選択
のようにしたい。。
やる方法があれば、方法を教えて下さい。
説明がヘタですが、宜しくお願い致します。

> 余談ですが、D5Pjだと、Delphi5 Personal(日本語版)なのか、Delphi5 Professional(日本語版)なのかわかりにくくありませんか?
> Delphi5に、Personalがあるかどうかは未確認ですが・・・。

Delphi5にはPersonalは無かったと思います?
しかし、第三者がわかり難い言葉や表現はよくありませんね。
大変失礼致しました。
使用バージョンは  Delphi5 Professional(日本語版)です。


ppp  2004-01-23 02:39:58  No: 6846

なかなかレスが付きませんので、
下記の方法でもご存知の方がいましたら、教えて下さい。

DelphiでEditコンポーネントをFormに貼り付けて実行し、
Editの上で右クリックすると、ポップアップメニューが
表示されますが、
このポップアップメニューに任意のメニューを追加する
やり方を教えて下さい。
(PopupMenuコンポーネントを使わずに)
よろしくお願い致します。


にしの  2004-01-23 05:34:01  No: 6847

基本的に、TEditもTMemoも、ウィンドウクラス EDIT を使っているため難しいですね。
USER32.DLLに、EDITで使用されるメニューらしきものをみつけました。
WM_CONTEXTMENUメッセージの後、表示されるポップアップメニューのハンドルがメッセージで飛んできてくれればよいのですが。

PopupMenuを使わないとしたら、WM_CONTEXTMENUでMenuのインスタンスをAPIで生成するか、RegisterClassExでEDITクラスに変わるウィンドウクラスを定義するくらいしか思いつきません。


ppp  2004-01-23 19:16:06  No: 6848

にしのさん
有難う御座います。

なかなか難しいようですね。
試行錯誤してみます。
有難う御座いました


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

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






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