ATL コントロール ウィザード
ATL プロジェクト、または ATL サポートを含む MFC プロジェクトに ATL コントロールを追加します。このウィザードを使用して、以下の 3 種類のコントロールを追加できます。
標準コントロール
複合コントロール
DHTML コントロール
さらに、ほとんどのコンテナーでコントロールで開くように既定で用意されているインターフェイスを [インターフェイス] ボックスから削除することによって、最小限のコントロールを指定できます。コントロールでサポートするインターフェイスは、ウィザードの [インターフェイス] ページで設定できます。
解説
このウィザードによって生成される登録スクリプトでは、COM コンポーネントは HKEY_LOCAL_MACHINE ではなく HKEY_CURRENT_USER に登録されるようになりました。この動作を変更するには、ATL ウィザードの [すべてのユーザーについてコンポーネントを登録] オプションをオンにします。
名前
プロジェクトに追加するオブジェクト、インターフェイス、およびクラスの名前を指定します。[短い名前] 以外のすべてのボックスは個別に変更できます。[短い名前] のテキストを変更すると、このページ内のすべてのボックスの名前に変更が反映されます。[COM] セクションの [CoClass] の名前を変更すると、[種類] ボックスに変更が反映されますが、[インターフェイス] の名前と [ProgID] は変わりません。コントロールの作成時に簡単に識別できるように、すべての名前がこの方法で付けられています。
[!メモ]
[CoClass] を編集できるのは属性なしのコントロールだけです。プロジェクトが属性付きの場合は、[CoClass] を編集できません。
C++
オブジェクトを実装するために作成される C++ クラスの情報を提供します。
[短い名前]
オブジェクトの省略名を設定します。入力する名前によって、[クラス] と [CoClass]、[.cpp ファイル] と [.h ファイル]、[インターフェイス]、[種類] の各フィールドの内容が決まります。ただし、各フィールドを個別に変更しない場合に限ります。Class
オブジェクトを実装するクラスの名前を設定します。この名前は、[短い名前] に入力した名前に基づく名前になり、クラス名を表す典型的なプレフィックスである "C" が先頭に付きます。[.h ファイル]
新しいオブジェクトのクラスのヘッダー ファイル名を設定します。既定では、[短い名前] に入力した名前に基づく名前になります。[...] ボタンをクリックし、場所を選択してファイル名を保存するか、クラス宣言を既存のファイルに追加します。既存のファイルを選択した場合は、[完了] をクリックするまで、選択した場所にファイルが保存されることはありません。ウィザードでは、ファイルは上書きされません。既存のファイルの名前を選択した場合は、ウィザードの [完了] をクリックすると、ファイルの内容にクラス宣言を追加するかどうかをたずねるメッセージが表示されます。[はい] をクリックしてファイルに追加するか、[いいえ] をクリックしてウィザードに戻り、他のファイル名を指定します。
[.cpp ファイル]
新しいオブジェクトのクラスの実装ファイルの名前を設定します。既定では、[短い名前] に入力した名前に基づく名前になります。[...] ボタンをクリックし、選択した場所にファイル名を保存します。ウィザードの [完了] をクリックするまで、ファイルは指定した場所に保存されません。ウィザードでは、ファイルは上書きされません。既存のファイルの名前を選択した場合は、ウィザードの [完了] をクリックすると、ファイルの内容にクラスの実装を追加するかどうかをたずねるメッセージが表示されます。[はい] をクリックしてファイルに追加するか、[いいえ] をクリックしてウィザードに戻り、他のファイル名を指定します。
[属性付き]
オブジェクトで属性を使用するかどうかを示します。オブジェクトを属性付き ATL プロジェクトに追加する場合は、このオプションが選択され、変更できません。つまり、属性サポート付きで作成したプロジェクトに追加できるのは、属性付きオブジェクトだけです。属性付きオブジェクトを追加できるのは、属性を使用する ATL プロジェクトだけです。属性のサポートがない ATL プロジェクトに対してこのオプションを選択すると、プロジェクトに属性のサポートを追加するかどうかをたずねるメッセージが表示されます。
このオプションを設定した後で追加するすべてのオブジェクトは、既定で属性付きとして指定されます。つまり、チェック ボックスがオンになります。このボックスをクリアすると、属性を使用しないオブジェクトを追加できます。
詳細については、「[アプリケーションの設定] (ATL プロジェクト ウィザード)」および「属性の基本的なしくみ」を参照してください。
COM
オブジェクトの COM 機能についての情報を提供します。
[CoClass]
オブジェクトがサポートするインターフェイスのリストを含むコンポーネント クラスの名前を設定します。[!メモ]
属性を使用してプロジェクトを作成する場合、またはこのウィザード ページでコントロールが属性を使用するように指定する場合は、ATL に属性 coclass が含まれないため、このオプションは変更できません。
[インターフェイス]
オブジェクトのインターフェイスの名前を設定します。既定では、インターフェイス名の先頭に "I" が付けられます。型
レジストリに表示されるオブジェクトの記述を設定します。[ProgID]
コンテナーがオブジェクトの CLSID の代わりに使用できる名前を設定します。このフィールドは自動的には設定されません。このフィールドを手動で設定しないと、コントロールが他のツールで使用できなくなる場合があります。たとえば、ProgID なしで生成された ActiveX コントロールは、[ActiveX コントロールの挿入] ダイアログ ボックスに表示されません。このダイアログ ボックスの詳細については、「[ActiveX コントロールの挿入] ダイアログ ボックス」を参照してください。