タイトルバーのコンテキストメニューについて
- 題名: タイトルバーのコンテキストメニューについて
- 著者: みゃ
- 日時: 2009/04/28 15:17:41
- ID: 24479
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: タイトルバーのコンテキストメニューについて
- 著者: Hongliang
- 日時: 2009/04/28 15:43:24
- ID: 24480
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: タイトルバーのコンテキストメニューについて
- 著者: 魔界の仮面弁士
- 日時: 2009/04/28 16:02:18
- ID: 24481
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: タイトルバーのコンテキストメニューについて
- 著者: みゃ
- 日時: 2009/04/29 10:20:27
- ID: 24485
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
フォームのタイトルバーを右クリックすると表れるコンテキストメニューに オリジナルの項目(バージョン情報など)を追加したいと思っています。 メニュー項目の追加は、Win32APIを利用することで実現できたのですが、 追加した項目を選択したときに行いたい処理をどのように定義すれば よいのかわからず困っています。 実装方法について、どなたかご存知の方がいましたら、ご教授願います。 参考情報として、メニュー項目を追加する際のサンプルを記載します。 下記のコードについても、もし方法が間違えているようでしたら、 ご指摘いただけると幸いです。 public partial class Form1 : Form { // Win32 APIのインポート [DllImport("USER32.DLL")] private static extern IntPtr GetSystemMenu(IntPtr hWnd, UInt32 bRevert); [DllImport("USER32.DLL")] private static extern bool AppendMenu(IntPtr hMenu, UInt32 uFlags, UInt32 uIDNewItem, string lpNewItem); // オリジナルメニューを追加するための値 private const UInt32 MF_BYCOMMAND = 0x00000000; private const UInt32 MF_STRING = 0x00000000; private const UInt32 MF_SEPARATOR = 0x00000800; public Form1() { InitializeComponent(); // タイトルバーのコンテキストメニューを取得 IntPtr hMenu = GetSystemMenu(this.Handle, 0); // セパレータとメニューを追加 AppendMenu(hMenu, MF_SEPARATOR, 0, string.Empty); AppendMenu(hMenu, MF_STRING, MF_BYCOMMAND, "バージョン情報"); } } 以上、よろしくお願いいたします。