独自の項目を作成せずにデフォルトのWinForms TextBoxコンテキストメニューに余分な項目を追加する方法はありますか?デフォルトのTextBoxコンテキストメニューに項目を追加
4
A
答えて
1
私はWndProcを無効にして、テキストボックスが受け取るメッセージをキャプチャする必要があると思います。
1
可能ですが複雑です。私はあなたが標準のContextMenuの代わりに "近代的な" ContextMenuStripクラスを使用して独自のメニューを実装することをお勧めします。
1
サブクラスのTextBox(それから派生)またはネイティブ柄(NativeWindowの付き)、および以下のようにウィンドウプロシージャをオーバーライドします。
protected override void WndProc(ref Message m)
{
if (m.Msg == <your menu id>) { ... return; }
...
if (m.Msg == 0x0093 /*WM_UAHINITMENU*/ || m.Msg == 0x0117 /*WM_INITMENUPOPUP*/ || m.Msg == 0x0116 /*WM_INITMENU*/)
{
IntPtr shortcut = m.Msg == 0x0093 ? Marshal.ReadIntPtr(m.LParam) : m.WParam;
// add <your menu id> to shortcut
...
}
...
base.WndProc(ref m);
}
関連する問題
- 1. Finderのコンテキストメニューにカスタムメニュー項目を追加
- 2. OpenFileDialogにコンテキストメニュー項目を追加する
- 3. Silverlightツリー項目にコンテキストメニューを追加する方法は?
- 4. Outlookにコンテキストメニュー項目を追加しますか?
- 5. リストを追加するSharepoint 2007のItemIdを持つコンテキストメニュー項目
- 6. Windowsエクスプローラで特定のドライブのコンテキストメニュー項目を追加する
- 7. Outlook 2010のコンテキストメニュー項目を条件付きで追加する
- 8. コンテキストメニュー項目の値
- 9. メニュー項目をデフォルトの右クリックコンテキストメニューに追加する方法
- 10. VS 2010ソリューションエクスプローラにコンテキストメニューを追加します(ソリューション上の項目のみ表示)
- 11. org.eclipse.ui.menusを使用してEclipse Package Explorerコンテキストメニュー項目にサブメニュー項目を追加する方法は?
- 12. Office Communicator 2007 R2にコマンド(コンテキストメニュー項目)を追加する方法は?
- 13. 複数の項目をテキスト項目に重複項目を追加する
- 14. メニュー項目を別のアプリケーションに追加
- 15. 私のstringarrayに項目を追加
- 16. Drupal 6:メニュー項目にサブメニュー項目を追加しますか?
- 17. Android:コンテキストメニューを無効にする項目
- 18. MVVMを使用したコンテキストメニュー項目のWPF +バインディングコマンドと項目
- 19. devexpress treelistのデフォルトの右クリックにメニュー項目を追加するには
- 20. TYPO3(6.2)とextbase:QueryResultに項目を追加
- 21. Python辞書項目に値を追加
- 22. ArrayListに項目を追加する
- 23. カートにデータベース項目を追加する
- 24. リストに項目を追加する
- 25. コンボボックスに項目を追加する
- 26. コンボボックスに項目を追加する
- 27. NSURLからMPMediaItemCollectionに項目を追加
- 28. リストに項目を追加する
- 29. Qt:QActionメニュー項目をドックアイコン(Mac)に追加
- 30. elFinderにカスタムコンテキストメニュー項目を追加する