したらびあんプラグイン(ShitaraBian-Plugin) ■作り方の具体的な手順 (1)サンプルプロジェクトのワークスペースを開きます。 新規作成するプラグインのプロジェクトはこのワークスペースに追加します。 (2)新規作成でDLLのプロジェクトを作成します。 メニューから[ファイル]-[新規作成...]→プロジェクトタブで「MFC AppWizard(dll)」。 「現在のワークスペースへ追加」をチェックしてください。 フォルダ構成を以下のようにする必要があります。 +shitarabian(ワークスペースのあるフォルダ) -Common(共通ファイルのあるフォルダ) -Document(文書が入っているフォルダ。必須ではない) +Productz(ビルドした実行ファイルがコピーされるところ) -Debug -Release -shitarabianXXXX(プラグインのサンプル) -XXXX(新規プロジェクトのフォルダ) あとの設定はデフォルトでヨシ。 (3)プラグインのプロジェクトにCommonフォルダのファイルを 全て追加してください。 メニューから[プロジェクト]-[プロジェクトへ追加]-[ファイル...]。 (4)"*.def"ファイルにEXPORT情報を追加します。 ワークスペースのFileViewペインで探すとSourceフォルダの中に defファイルがあります。 (↑この記述が理解できなければ、普通にエクスプローラで プラグインプロジェクトのフォルダの中を探すがよし‥‥。) defファイルを開いて、EXPORTS節がこうなるように行を追加します。 EXPORTS OnInitialize OnDestroy GetPlugInName OnDrawWall OnEdit OnSetting OnToolButton OnToolButtonUI OnKeyDown OnChar (5)プラグイン処理の実装クラスを作成します。 CShitarabianPlugInの派生クラスを実装します。 メニューから[挿入]-[クラスの新規作成...]で クラスの種類:genericクラス クラス名:CXXXXImp(←適当に) 基本クラス:(派生元)CShitarabianPlugIn、(用途)public としてください。 作成したクラスには、CShitarabianPlugInが持つvirtual関数のうち 必要なものをオーバライドしてください。 (GetPlugInName()のオーバライドは必須と思われ。) このクラスがプラグインの処理本体です。 OnXXXX()ハンドル関数をオーバライドし、その中で CDocumentIFを利用してしたらびあん本体にアクセスします。 サンプルプロジェクトに含まれる既存のプラグインの実装を 参考にしてください。 (6)CWinAppの派生クラスのコンストラクタにちょっと処理追加。 "プロジェクト名.cpp"というファイルのコンストラクタ部分を 以下のように書き換えます。(XXXXはプロジェクト名とか) // CXXXXApp の構築 #include "../Common/dllInterface.h" #include "XXXXImp.h" // 実装クラスのヘッダをインクルード CXXXXImp DllImp; // 実装クラスのインスタンスを宣言 CXXXXApp::CXXXXApp() { ::DllImpAttach( &DllImp ); } (7)プロジェクトのデバッグが円滑に行えるようにプロジェクトの設定をします。 (以下、Debugモードの場合) ・Productzフォルダにプラグインをコピーさせる‥‥ [プロジェクト]-[設定...]→ビルド後の処理タブ ビルド後の処理の説明:copy ビルド後の処理コマンド: copy debug\プロジェクト名.dll ..\productz\debug\プロジェクト名.sbp ・デバッグ用の実行ファイルを指定する [プロジェクト]-[設定...]→デバッグタブ カテゴリ:一般 デバッグセッションの実行可能ファイル: ../Productz/Debug/shitarabian.exe それだけ。 |