ようこそ Go!Go! ASP.NET へ ログイン | 登録 | ヘルプ

寝ても覚めても.NET(?)

Visual Studio 2005 Team System、主にVisual Studio 2005 Team Foundation Serverを中心とした紹介やらTipsやらを日々つづっていく日記です。

VSの右クリックメニューを拡張する

VS2005のお話ですが、2008でもだいたい同じだと思われます。

まずは対象のメニューの名前を見つけないといけません。
VSマクロで適当にサンプルのメソッドを作りましょう。
1
2
3
4
5
6
Public Sub Test()
Dim vs As EnvDTE.DTE = DTE
For Each bars As CommandBar In vs.CommandBars
Debug.WriteLine(bars.Name & ", " & bars.NameLocal)
Next
End Sub

これを実行すると
コマンドバーの一覧を見ることができるのでこっから対象っぽいのを探します。
ファイル(F)とかがあるところなら、MenuBarとか
ソリューションエクスプローラ内のそれぞれのアイテムだったら Item とか。
実はこれだけでも結構一苦労。。。
もっといい方法を見つけたい。

対象の名前が決まったらそのコマンドバーを取得して
メニューをひとつ足してみましょう。
1
2
3
4
5
6
7
Public Sub Test2()
Dim vs As EnvDTE.DTE = DTE

Dim bar As CommandBar = vs.CommandBar("Item")
Dim ctl As CommandBarControl = bar.Controls.Add(MsoControlType.msoControlButton)
ctl.Caption = "Test"
End Sub

これで、Form1.vbなんかのファイルを右クリックすると[Test]という名前のメニューが表示されます。
でもこれだとクリック時のアクションが実行できないからもちょっとちゃんとやるには
Visual StudioのCommandオブジェクトを使ってあげないといけないかも。

でも続きは次回で。
公開 21-03-2008 06:08 投稿者 libaty
タグ ,

コメントの通知

この投稿にコメントが付いた場合にメールを受信するには、登録してください。ここ

また次のフィードから、お気に入りのRSSリーダーを使って最新の状態を知ることもできます。 コメントのRSSフィード

コメント

コメントはありません

どのような感想ですか?

(必須) 
(オプション)
(必須) 
SkinName:iroha_Blog2
Powered by Community Server, by Telligent Systems