IDL MFC メソッドを追加する
IDL MFC メソッドの追加 ウィザードは、Microsoft Framework クラス (MFC) プロジェクトで定義されているインターフェイス定義ライブラリ (IDL) インターフェイスにメソッドを追加します。 インターフェイスに関連付けられたクラスがプロジェクトに含まれている場合、ウィザードではクラスにもメソッドが追加されます。
このウィザードを使用するには、MFC プロジェクト、ActiveX プロジェクト、または MFC をサポートする ATL プロジェクトに存在する必要があります。 たとえば、Microsoft ActiveX コントロール プロジェクトがある場合は、次の手順を使用して、ソリューションの IDL インターフェイスにメソッドを追加できます。
このウィザードは、次の点で メソッドの追加 ウィザード (IDL インターフェイスにメソッドを追加) とは異なります。
MFC、ActiveX、または MFC をサポートする ATL プロジェクトに固有です。 MFC をサポートしていない ATL プロジェクトの場合は、 Add メソッド ウィザードのみを使用できます。
プロジェクトでディスパッチ マップが見つかった場合は、次のエントリが追加されます。
BEGIN_DISPATCH_MAP(CMFCApplication2Doc, CDocument) DISP_FUNCTION_ID(CMFCApplication2Doc, "methodName", dispidmethodName, internalName, VT_EMPTY, VTS_NONE) END_DISPATCH_MAP()
関連付けられた次のメソッド実装が生成されます。
void CMFCApplication2Doc::internalName() { AFX_MANAGE_STATE(AfxGetAppModuleState()); // TODO: Add your dispatch handler code here }
インターフェイスにメソッドを追加する
[表示] メニューの [クラス ビュー] を選択します。
[クラス ビュー] でプロジェクト ノードを展開し、メソッドを追加するインターフェイスを表示します。
インターフェイス名を右クリックします。
ショートカット メニューの Add を選択し、 Add メソッドを選択します。
IDL MFC メソッドの追加 ウィザードで、メソッドに関する情報を指定します。
[OK] を選択して、メソッドを追加します。
UI 要素の一覧
次のセクションでは、IDL MFC メソッドの追加ウィザード UI について説明します。
メソッド名
メソッドの名前を設定します。 次の表では、インターフェイスの種類に応じたメソッド名のオプションについて説明します。
インターフェイスの種類 メソッド名 ATL デュアル インターフェイス、カスタム インターフェイス、およびローカル カスタム インターフェイス 独自のメソッド名を指定します。 MFC ディスパッチ インターフェイス 独自のメソッド名を指定するか、リストから推奨されるメソッド名を選択します。 一覧から名前を選択すると、適切な戻り値の型が Return 型に表示され、変更することはできません。 MFC ActiveX コントロールのディスパッチ インターフェイス 独自のメソッド名を指定するか、ストック メソッド ( DoClick または Refresh のいずれかを選択します。 ストック メソッドの詳細については、「 MFC ActiveX コントロール: ストック メソッドの追加」を参照してください。 内部名
Method 型が custom の場合にのみ使用できます。 内部名 は、ディスパッチ マップ、ヘッダー (.h) ファイル、および実装 (.cpp) ファイルで使用される名前です。 既定では、この名前はメソッド名と同じになります。 MFC ディスパッチ インターフェイスに追加されます。
MFC または MFC ActiveX コントロールのディスパッチインターフェイスにメソッドを追加する場合は、次の表に示すようにメソッド名を変更できます。
インターフェイスの型 内部名 ATL デュアル インターフェイス、カスタム インターフェイス、およびローカル カスタム インターフェイス 使用できません。 MFC ディスパッチ インターフェイス 既定では、メソッド名に設定します。 内部名を編集することができます。 MFC ActiveX コントロールのディスパッチ インターフェイス カスタム メソッドでのみ内部名を設定することができます。 ストック メソッドでは内部名を使用しません。 の戻り値の型 :
メソッドによって返されるデータ型。 インターフェイス メソッドの標準の戻り値の型は
HRESULT
。インターフェイスがデュアル インターフェイスまたはカスタム インターフェイスの場合、
HRESULT
戻り値の型のみが許可されます。次の表に示すように、メソッドが追加されるインターフェイスの種類に従ってデータ型を設定できます。
インターフェイスの種類 の戻り値の型 : デュアル インターフェイス HRESULT
. 変更できません。カスタム インターフェイス HRESULT
. 変更できません。ローカル カスタム インターフェイス 独自の戻り値の型を指定するか、一覧から 1 つ選択します。 Dispinterface 独自の戻り値の型を指定するか、一覧から 1 つ選択します。 MFC ActiveX コントロールのディスパッチ インターフェイス ストック メソッドを実装する場合、戻り値の型は適切な値に設定され、変更することはできません。 Method 名リストからメソッドを選択し、Select メソッドの種類で Custom を選択する場合は、一覧から戻り値の型を選択します。 メソッドの型
MFC ActiveX コントロールでのみ使用できます。 一覧からメソッドを選択するのではなく、 Method 名 でメソッド名を指定した場合は使用できません。
Method 名リストからいずれかのメソッドを選択した場合は、Method の種類ドロップダウンで、Stock または Custom 実装のいずれかを選択します。 メソッドの選択は、次の表に示すように、ウィザードが提供する戻り値の型とメソッドの実装に影響します。
メソッドのタイプ 説明 ストック これが既定値です。 Method 名一覧で選択したメソッドの既定の実装を挿入します。 [ストック] を選択した場合は、戻り値の型を変更することはできません。 カスタム Method 名で選択したメソッドのカスタム実装を指定します。 独自の戻り値の型を指定するか、 Return 型 一覧から 1 つ選択できます。 パラメーター
メソッドのパラメーター、修飾子、および型を表示します。 パラメーターを追加すると、ウィザードによって [パラメーター] の一覧が更新されます。
+
パラメーターを追加します。 [パラメーター] に、パラメーターの型、名前、および修飾子を入力します。 たとえば、
int x
です。[OK] を選択します。パラメーター名を指定しない場合、ウィザードは パラメーターの種類 選択を無視します。ATL プロジェクトの場合、パラメーター属性も無視されます。
x
[パラメーター] の一覧から、選択したパラメーターを削除します。
鉛筆アイコン
選んだパラメーターを編集します。
id
メソッドを識別する数値 ID を設定します。 詳細については、MIDL リファレンスの
id
を参照してください。call_as
このローカル メソッドにマップするリモート メソッドの名前を指定します。 詳細については、MIDL リファレンスの
call_as
を参照してください。helpcontext
コンテキスト ID を指定します。ユーザーはヘルプ ファイルでこのメソッドに関する情報を参照できます。 詳細については、MIDL リファレンスの
helpcontext
を参照してください。helpstring
関連付けられている要素を説明するテキストを指定します。 既定では、 Method 名。 詳細については、MIDL リファレンスのhelpstringを参照してください。