技術資料/DevStudioアドイン
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*基本的なコードの説明 [#k03ebcb4]
DevStudio(VC++6.0)のアドインプロジェクトは「DevStudio Add...
コマンドの実装に必要な基本的なコードを以下に示す。~
|リソース|IDR_TOOLBAR_LARGE|大きいアイコンセット(32*32)&b...
|~|IDR_TOOLBAR_MEDIUM|小さいアイコンセット(16*16)&br;複数...
|CDSAddInクラス|OnConnection()|開発環境がアドインをロード...
|~|OnDisconnection()|開発環境がアドインをアンロードしたと...
|IApplicationインタフェース|AddCommand()|コマンドを登録す...
|~|AddCommandBarButton()|コマンドのツールバーを登録する関...
|>|CCommandsクラス|コマンドが実行されたときに処理を行うた...
*コマンド登録の手順 [#z2455d85]
以下、Fooというコマンドを登録する例を記述する。
+実装
++ツールバーアイコンの準備~
IDR_TOOLBAR_LARGE と IDR_TOOLBAR_MEDIUM を編集して好きな...
++コマンドの名称と説明文を準備する~
ストリングテーブルに準備する例
|ID|値|h
|IDS_CMD_FOO_NAME|Foo|
|IDS_CMD_FOO_STRING|\nFoo\nFooコマンドを実行する\nFooコマ...
※あとで2つの文字列を連結してIApplication::AddCommand() の...
(1)コマンド名(ユニークな名称の必要がある)~
(2)ツールバー表示用のテキスト~
(3)コマンドの説明テキスト~
(4)ツールヒント用のテキスト~
++コマンドの登録~
CDSAddIn::OnConnection()のコードを編集し、コマンドを登録...
以下、Fooコマンドの登録例~
#code(c){{
:
VARIANT_BOOL bRet;
CString strCmdName;
CString strCmdString;
short bmpOffset = 0;
// Fooコマンドの登録
strCmdName.LoadString(IDS_CMD_FOO_NAME);
strCmdString.LoadString(IDS_CMD_FOO_STRING);
strCmdString = strCmdName + strCmdString;
VERIFY_OK(pApplication->AddCommand(CComBSTR(strCmdStr...
if(bRet == VARIANT_FALSE){
*OnConnection = VARIANT_FALSE;
return S_OK;
}
if(bFirstTime == VARIANT_TRUE){
VERIFY_OK(pApplication->AddCommandBarButton(dsGly...
}
:
}}
※ここでは、コマンド名(IApplication::AddCommand()の第1引...
++コマンドに対応付けられるメソッドの追加~
クラスビューのツリーから「ICommands」を右クリックし、「メ...
メソッドは、IApplication::AddCommand() の第2引数に渡した...
++メソッドの実装~
CCommands::Foo() が追加されているので、実装を行う。~
実装の際、開発環境のオブジェクトを操作することができる。~
その場合は、CCommands::m_pApplication 変数を基に必要なオ...
~
以下に、現在選択されている文字列を取得して前後に()を付与...
#code(c){{
CComPtr<IDispatch> pDisp;
// TextDocumentオブジェクトを取得する
CComQIPtr<ITextDocument, &IID_ITextDocument> pTextDoc...
m_pApplication->get_ActiveDocument(&pDisp);
pTextDocument = pDisp;
pDisp = NULL;
if(!pTextDocument){
return;
}
// TextSelectionオブジェクトを取得する
CComQIPtr<ITextSelection, &IID_ITextSelection> pTextS...
pTextDocument->get_Selection(&pDisp);
pTextSelection = pDisp;
pDisp = NULL;
if(!pTextSelection){
return;
}
// 選択中テキストを取得する
BSTR bstr;
pTextSelection->get_Text(&bstr);
CString strSelection(bstr);
// 前後に()を付与
strSelection = "(" + strSelection + ")";
// テキストを挿入する
pTextSelection->put_Text(strSelection.AllocSysString(...
}}
~
また、DevStudioオブジェクトは引数にVariant型が使われてい...
#code(c){{
// TextSelectionオブジェクトのStartOfLineメソッドの使...
// CComVariantクラスを使用できる
// dsFirstText や dsMove は enum定数として定義済みだ...
pTextSelection->StartOfLine(CComVariant(dsFirstText),...
}}
+アドインの使用
++アドインの配置
実装が完了したら、ビルドを行う。作成されたDLLを開発環境の...
++アドインの登録
開発環境を起動し、メニューの「ツール」-「カスタマイズ」...
+その他
開発環境を操作したときのイベントに応じて処理を行いたい場...
|CCommands::XApplicationEvents::*()|Applicationオブジェク...
|CCommands::XDebuggerEvents::*()|Debuggerオブジェクトのイ...
終了行:
#contents
*基本的なコードの説明 [#k03ebcb4]
DevStudio(VC++6.0)のアドインプロジェクトは「DevStudio Add...
コマンドの実装に必要な基本的なコードを以下に示す。~
|リソース|IDR_TOOLBAR_LARGE|大きいアイコンセット(32*32)&b...
|~|IDR_TOOLBAR_MEDIUM|小さいアイコンセット(16*16)&br;複数...
|CDSAddInクラス|OnConnection()|開発環境がアドインをロード...
|~|OnDisconnection()|開発環境がアドインをアンロードしたと...
|IApplicationインタフェース|AddCommand()|コマンドを登録す...
|~|AddCommandBarButton()|コマンドのツールバーを登録する関...
|>|CCommandsクラス|コマンドが実行されたときに処理を行うた...
*コマンド登録の手順 [#z2455d85]
以下、Fooというコマンドを登録する例を記述する。
+実装
++ツールバーアイコンの準備~
IDR_TOOLBAR_LARGE と IDR_TOOLBAR_MEDIUM を編集して好きな...
++コマンドの名称と説明文を準備する~
ストリングテーブルに準備する例
|ID|値|h
|IDS_CMD_FOO_NAME|Foo|
|IDS_CMD_FOO_STRING|\nFoo\nFooコマンドを実行する\nFooコマ...
※あとで2つの文字列を連結してIApplication::AddCommand() の...
(1)コマンド名(ユニークな名称の必要がある)~
(2)ツールバー表示用のテキスト~
(3)コマンドの説明テキスト~
(4)ツールヒント用のテキスト~
++コマンドの登録~
CDSAddIn::OnConnection()のコードを編集し、コマンドを登録...
以下、Fooコマンドの登録例~
#code(c){{
:
VARIANT_BOOL bRet;
CString strCmdName;
CString strCmdString;
short bmpOffset = 0;
// Fooコマンドの登録
strCmdName.LoadString(IDS_CMD_FOO_NAME);
strCmdString.LoadString(IDS_CMD_FOO_STRING);
strCmdString = strCmdName + strCmdString;
VERIFY_OK(pApplication->AddCommand(CComBSTR(strCmdStr...
if(bRet == VARIANT_FALSE){
*OnConnection = VARIANT_FALSE;
return S_OK;
}
if(bFirstTime == VARIANT_TRUE){
VERIFY_OK(pApplication->AddCommandBarButton(dsGly...
}
:
}}
※ここでは、コマンド名(IApplication::AddCommand()の第1引...
++コマンドに対応付けられるメソッドの追加~
クラスビューのツリーから「ICommands」を右クリックし、「メ...
メソッドは、IApplication::AddCommand() の第2引数に渡した...
++メソッドの実装~
CCommands::Foo() が追加されているので、実装を行う。~
実装の際、開発環境のオブジェクトを操作することができる。~
その場合は、CCommands::m_pApplication 変数を基に必要なオ...
~
以下に、現在選択されている文字列を取得して前後に()を付与...
#code(c){{
CComPtr<IDispatch> pDisp;
// TextDocumentオブジェクトを取得する
CComQIPtr<ITextDocument, &IID_ITextDocument> pTextDoc...
m_pApplication->get_ActiveDocument(&pDisp);
pTextDocument = pDisp;
pDisp = NULL;
if(!pTextDocument){
return;
}
// TextSelectionオブジェクトを取得する
CComQIPtr<ITextSelection, &IID_ITextSelection> pTextS...
pTextDocument->get_Selection(&pDisp);
pTextSelection = pDisp;
pDisp = NULL;
if(!pTextSelection){
return;
}
// 選択中テキストを取得する
BSTR bstr;
pTextSelection->get_Text(&bstr);
CString strSelection(bstr);
// 前後に()を付与
strSelection = "(" + strSelection + ")";
// テキストを挿入する
pTextSelection->put_Text(strSelection.AllocSysString(...
}}
~
また、DevStudioオブジェクトは引数にVariant型が使われてい...
#code(c){{
// TextSelectionオブジェクトのStartOfLineメソッドの使...
// CComVariantクラスを使用できる
// dsFirstText や dsMove は enum定数として定義済みだ...
pTextSelection->StartOfLine(CComVariant(dsFirstText),...
}}
+アドインの使用
++アドインの配置
実装が完了したら、ビルドを行う。作成されたDLLを開発環境の...
++アドインの登録
開発環境を起動し、メニューの「ツール」-「カスタマイズ」...
+その他
開発環境を操作したときのイベントに応じて処理を行いたい場...
|CCommands::XApplicationEvents::*()|Applicationオブジェク...
|CCommands::XDebuggerEvents::*()|Debuggerオブジェクトのイ...
ページ名: