ATL シンプル オブジェクト ウィザード

更新 : 2007 年 11 月

このウィザードでは、最小 COM オブジェクトをプロジェクトに追加します。このウィザードのページを使用して、オブジェクトの C++ クラスとファイルを識別する名前、およびオブジェクトの COM 機能を指定します。

このウィザードの [オプション] ページを使用して、オブジェクトのスレッド モデル、オブジェクトの集約サポート、およびデュアル インターフェイスとオートメーションのサポートの有無を指定します。また、エラー情報インターフェイス、コネクション ポイント、Internet Explorer のサポート、およびフリー スレッド マーシャリングのサポートも指定できます。

解説

Visual Studio 2008 から、このウィザードによって生成される登録スクリプトでは、COM コンポーネントは HKEY_LOCAL_MACHINE ではなく、HKEY_CURRENT_USER に登録されるようになりました。この動作を変更するには、ATL ウィザードの [すべてのユーザーについてコンポーネントを登録] オプションをオンにします。

[名前]

プロジェクトに追加するオブジェクト、インターフェイス、およびクラスの名前を指定します。[短い名前] 以外のすべてのボックスは個別に編集できます。[短い名前] のテキストを変更すると、このページ内のすべてのボックスの名前に変更が反映されます。[COM] セクションの CoClass の名前を変更すると、変更内容が [種類] ボックスと [ProgID] ボックスに反映されますが、[インターフェイス] の名前は変わりません。コントロールの作成時に簡単に識別できるように、すべての名前がこの方法で付けられています。

d30daewt.alert_note(ja-jp,VS.90).gifメモ :

CoClass を編集できるのは属性なしプロジェクトだけです。プロジェクトが属性付きの場合は、[CoClass] を編集できません。

[C++]

オブジェクトに対して作成された C++ クラスの情報を提供します。

  • [短い名前]
    オブジェクトの省略名を設定します。入力する名前によって、Class 名と Coclass 名、.cpp ファイル名と .h ファイル名、インターフェイス名、[種類]名、ProgID の各フィールドの内容が決まります。ただし、各フィールドを個別に変更しない場合に限ります。

  • [.h ファイル]
    新しいオブジェクトのクラスのヘッダー ファイル名を設定します。既定では、[短い名前] に入力した名前に基づいた名前になります。[...] ボタンをクリックし、場所を選択してファイル名を保存するか、クラス宣言を既存のファイルに追加します。既存のファイルを選択した場合は、ウィザードの [完了] をクリックするまで、選択した場所にファイルが保存されません。

    ウィザードでは、ファイルは上書きされません。既存のファイルの名前を選択した場合は、ウィザードの [完了] をクリックすると、ファイルの内容にクラス宣言を追加するかどうかをたずねるメッセージが表示されます。[はい] をクリックしてファイルに追加するか、[いいえ] をクリックしてウィザードに戻り、他のファイル名を指定します。

  • [クラス]
    作成するクラスの名前を設定します。この名前は、[短い名前] に入力した名前に基づく名前で、クラス名の代表的なプリフィックスである "C" が先頭に付いています。

  • [.cpp ファイル]
    新しいオブジェクトのクラスの実装ファイルの名前を設定します。既定では、[短い名前] に入力した名前に基づいた名前になります。[...] ボタンをクリックし、選択した場所にファイル名を保存します。ウィザードの [完了] をクリックするまで、ファイルは指定した場所に保存されません。

    ウィザードでは、ファイルは上書きされません。既存のファイルの名前を選択した場合は、ウィザードの [完了] をクリックすると、ファイルの内容にクラスの実装を追加するかどうかをたずねるメッセージが表示されます。[はい] をクリックしてファイルに追加するか、[いいえ] をクリックしてウィザードに戻り、他のファイル名を指定します。

  • [属性]
    オブジェクトで属性を使用するかどうかを示します。オブジェクトを属性付き ATL プロジェクトに追加する場合は、このオプションが選択され、変更できません。つまり、属性サポート付きで作成したプロジェクトに追加できるのは、属性付きオブジェクトだけです。

    属性付きオブジェクトを追加できるのは、属性を使用する ATL プロジェクトだけです。属性のサポートがない ATL プロジェクトに対してこのオプションを選択すると、プロジェクトに属性のサポートを追加するかどうかをたずねるメッセージが表示されます。

    このオプションを設定した後で追加するすべてのオブジェクトは、既定で属性付きとして指定されます。つまり、チェック ボックスがオンになります。このボックスをクリアすると、属性を使用しないオブジェクトを追加できます。

    詳細については、「[アプリケーションの設定] (ATL プロジェクト ウィザード)」および「属性の基本的なしくみ」を参照してください。

[COM]

オブジェクトの COM 機能についての情報を提供します。

  • [CoClass]
    オブジェクトがサポートするインターフェイスのリストを含むコンポーネント クラスの名前を設定します。

    d30daewt.alert_note(ja-jp,VS.90).gifメモ :

    属性を使用してプロジェクトを作成する場合、またはこのウィザード ページでオブジェクトが属性を使用するように指定する場合は、ATL に属性 coclass が含まれないため、このオプションは変更できません。

  • [種類]
    レジストリに表示されるオブジェクトの記述を設定します。

  • [インターフェイス]
    オブジェクト用に作成するインターフェイスを設定します。このインターフェイスにはカスタム メソッドが設定されています。

  • [ProgID]
    コンテナがオブジェクトの CLSID の代わりに使用できる名前を設定します。

参照

処理手順

ATL シンプル オブジェクトの追加