次の方法で共有


IDL プロパティを追加する

[IDL プロパティの追加] ウィザードでは、インターフェイス定義ライブラリ (IDL) で定義されているインターフェイスにプロパティを追加します。たとえば、.idl ファイルを含む ATL プロジェクトなどです。 このウィザードは、MFC をサポートするプロジェクトでは使用できません。

このウィザードは、プロパティの追加ウィザードや IDL MFC プロパティの追加ウィザードとは以下の点で異なります。

  • プロパティの追加ウィザードでは、プロジェクトのインターフェイスにプロパティを追加します。
  • IDL MFC プロパティの追加ウィザードは、MFC をサポートする MFC、ActiveX、または ATL プロジェクトに固有のものです。

IDL プロパティを追加するには

  1. [表示] メニューの [クラス ビュー] を選択します。

  2. クラス ビューで、プロパティを追加するインターフェイスを右クリックします。

    注意

    プロジェクトに属性が設定されていない限り、ライブラリ ノード内で入れ子にされるディスパッチ インターフェイスに、プロパティを追加することもできます。

  3. インターフェイス名を右クリックします。

  4. ショートカット メニューから、[追加]>[プロパティの追加] を選びます。

  5. IDL プロパティの追加ウィザードで、情報を指定してプロパティを作成します。

  6. [OK] を選んで、プロパティを追加します。

プロパティの Get メソッドと Put メソッドは、定義されているインターフェイスの下のクラス ビューに 2 つのアイコンとして表示されます。 いずれかのアイコンをダブルクリックして、.idl ファイルでのプロパティの宣言を確認します。

ATL インターフェイスの場合、GetPut 関数は、.cpp.h ファイルに追加されます。

IDL プロパティの追加ウィザード

次のセクションでは、IDL プロパティの追加に使用する UI について説明します。

[ in ] int i と [ in ] char c という 2 つのパラメーターを含む [IDL プロパティの追加] のスクリーンショット。戻り値の型は HRESULT です。プロパティの型は float です。

  • プロパティ名

    プロパティの名前を設定します。

  • プロパティの型

    プロパティのデータ型。

  • 戻り値の型

    ATL インターフェイスの場合、プロパティの戻り値の型を設定します。 デュアル インターフェイスの場合、戻り値の型は常に HRESULT であり、選択オプションは使用できません。 カスタム インターフェイスの場合、リストから戻り値の型を選択できます。 その場合でも、エラーを返す標準的な方法が提供されているため、HRESULT をお勧めします。

  • Get 関数

    ATL インターフェイスの場合、プロパティの値を取得するための Get メソッドを作成します。 GetPut、またはその両方を選択します。

  • Put 関数

    ATL インターフェイスの場合、プロパティの値を設定するための Put メソッドを作成します。 GetPut、またはその両方を選択します。 [Put 関数] をオンにした場合、メソッドの実装方法として次の 2 つのどちらかを選ぶことができます。

    オプション 説明
    propput PropPut 関数は、オブジェクトのコピーを返します。 propput が既定値で、プロパティを書き込み可能にする最も一般的な方法です。
    propputref PropPutRef 関数は、オブジェクト自体のコピーを返すのではなく、オブジェクトへの参照を返します。 propputref オプションは、初期化のオーバーヘッドが発生するおそれがある、大規模な構造体や配列などのオブジェクトに対して使用することを検討してください。
  • パラメーター

    プロパティに追加されるパラメーターのリストが表示されます。 リスト内の各項目は、パラメーター名、パラメーターの型、および属性で構成されます。

    in は、パラメーターが呼び出し元のプロシージャから呼び出されたプロシージャに渡されることを示します。 out は、ポインター パラメーターが呼び出されたプロシージャから呼び出し元のプロシージャに (サーバーからクライアントに) 返されることを示します。

  • +

    パラメーターを追加します。 [パラメーター] に、パラメーターの型と名前を入力します。 たとえば「int x」などとして、[OK] を選びます。

  • x

    [パラメーター] から、選んだパラメーターを削除します。

  • 鉛筆アイコン

    選んだパラメーターを編集します。

  • 属性

  1. helpcontext

    コンテキスト ID を指定します。ユーザーはヘルプ ファイルでこのプロパティに関する情報を参照できます。 詳細については、「helpcontext」を参照してください。

  2. helpstring

    適用先となる要素を記述するために使用される文字列を指定します。 既定では、propertyProperty name に設定されます。 詳細については、「helpstring」を参照してください。

  3. id

    プロパティを識別する数値識別子を設定します。 このオプションは、カスタム インターフェイスのプロパティでは使用できません。 詳細については、「id」を参照してください。

  • 追加の属性

Microsoft インターフェイス定義言語 (MIDL) のキーワードについては、MIDL 言語リファレンスに関する記事で詳しく説明されています。

オプション 説明
bindable プロパティがデータ バインディングをサポートすることを示します。 詳細については、「bindable」を参照してください。
defaultbind これがオブジェクトを最もよく表す 1 つのバインド可能なプロパティであることを示します。 詳しくは、defaultbind に関する記事をご覧ください。
defaultcollelem プロパティが既定コレクションの要素に対するアクセサー関数であることを示します。 詳細については、「defaultcollelem」を参照してください。
displaybind このプロパティをユーザーにバインド可能として表示する必要があることを示します。 詳細については、「displaybind」を参照してください。
hidden プロパティは存在しますが、ユーザー指向ブラウザーでは表示されないことを示します。 詳細については、「hidden」を参照してください。
immediatebind データ バインディング オブジェクトのこのプロパティに対するすべての変更が、すぐにデータベースに通知されることを示します。 詳細については、「immediatebind」を参照してください。
local プロパティがリモートでないことを MIDL コンパイラに対して指定します。 詳細については、「local」を参照してください。
nonbrowsable プロパティ ブラウザーに表示してはならない interface または dispinterface メンバーにタグを付けます。 詳細については、「nonbrowsable」を参照してください。
requestedit OnRequestEdit 通知がプロパティでサポートされることを示します。 詳細については、「requestedit」を参照してください。
restricted プロパティを任意に呼び出せないことを指定します。 詳細については、「restricted」を参照してください。
source プロパティのメンバーがイベントのソースであることを示します。 詳細については、「source」を参照してください。

参照

プロパティを追加する
IDL MFC プロパティの追加