コントロールの追加 (ATL チュートリアル、パート 2)

注

Active Template Library (ATL) は引き続きサポートされています。 ただし、機能の追加やドキュメントの更新は行われません。

このステップでは、コントロールをプロジェクトに追加し、ビルドして、Web ページでテストします。

プロシージャ

オブジェクトを ATL プロジェクトに追加するには

  1. ソリューション エクスプローラーで、Polygon プロジェクトを右クリックします。

  2. ショートカット メニューの [追加] をポイントし、サブメニューの [新しい項目] をクリックします。

    [新しい項目の追加] ダイアログ ボックスが表示されます。 さまざまなオブジェクトのカテゴリが、左側にツリー構造で表示されます。

  3. [ATL] フォルダーをクリックします。

  4. 右側にあるテンプレートの一覧から、[ATL コントロール] を選択します。 追加をクリックします。 ATL コントロール ウィザードが開き、コントロールを構成することができます。

  5. 短い名前として、「PolyCtl」と入力します。他のフィールドは自動的に入力が完了しています。 さらに変更を加える必要があるため、[完了] はクリックしないでください。

ATL コントロール ウィザードの [名前] ページには、次のフィールドが含まれています。

フィールド コンテンツ
短い名前 コントロール用に入力した名前。
Class コントロールを実装するために作成された C++ クラス名。
.h ファイル C++ クラスの定義を格納するために作成されたファイル。
.cpp ファイル C++ クラスの実装を格納するために作成されたファイル。
CoClass このコントロールのコンポーネント クラスの名前。
インターフェイス コントロールがカスタム プロパティとメソッドを実装するインターフェイスの名前。
タイプ コントロールの説明。
ProgID コントロールの CLSID を検索するために使用できる、判読可能な名前。

ATL コントロールウィザードでは、いくつかの追加設定を変更する必要があることがわかります。

詳細なエラー情報と接続ポイントのサポートを有効にするには

  1. [オプション] をクリックして [オプション] ページを開きます。

  2. [コネクション ポイント] チェック ボックスをオンにします。 このオプションにより、発信インターフェイスのサポートが IDL ファイルに作成されます。

また、インターフェイスを追加して、コントロールの機能を拡張することもできます。

コントロールの機能を拡張するには

  1. [インターフェイス] をクリックして、[インターフェイス] ページを開きます。

  2. IProvideClassInfo2 を選択して上向き矢印をクリックすると、[サポート対象] 一覧に移動します。

  3. ISpecifyPropertyPages を選択して上向き矢印をクリックすると、[サポート対象] 一覧に移動します。

また、コントロールを "挿入可能" にすることもできます。これは、Excel や Word などの、埋め込みオブジェクトをサポートするアプリケーションに埋め込むことができることを示します。

コントロールを挿入可能にするには

  1. [外観] をクリックし、[外観] ページを開きます。

  2. [挿入可能] チェック ボックスをオンにします。

このオブジェクトによって表示される多角形には、単色による塗りつぶしを適用するため、"Fill Color" ストック プロパティを追加する必要があります。

"塗りつぶしの色" ストック プロパティを追加するには、コントロールを作成します。

  1. [ストック プロパティ] をクリックして [ストック プロパティ] ページを開きます。

  2. [サポートなし] で、使用可能なストック プロパティの一覧をスクロール ダウンします。 Fill Color を選択して上向き矢印をクリックすると、[サポート対象] 一覧に移動します。

  3. [完了] を選択します。

ウィザードによってコントロールが作成されると、コードの変更とファイルの追加がいくつか発生します。 次のファイルが作成されます。

File 説明
PolyCtl.h C++ クラス CPolyCtl のほとんどの実装が格納されています。
PolyCtl.cpp CPolyCtl の残りの部分が格納されています。
PolyCtl.rgs コントロールの登録に使用するレジストリ スクリプトが格納されたテキスト ファイル。
PolyCtl.htm 新しく作成されたコントロールへの参照が含まれた Web ページ。

ウィザードにより、次のコード変更も行われます。

  • コントロールのサポートに必要な ATL ファイルを含めるための #include ステートメントが、プリコンパイル済みヘッダーファイルに追加されます。

  • 新しいコントロールの詳細を含めるために Polygon.idl が変更されます。

  • Polygon.cpp のオブジェクト マップに新しいコントロールが追加されます。

これで、コントロールをビルドして動作を確認できます。

コントロールのビルドとテスト

コントロールをビルドおよびテストするには

  1. [ビルド] メニューの [多角形のビルド] をクリックします。

    コントロールのビルドが完了したら、ソリューション エクスプローラーで PolyCtl.htm を右クリックし、[ブラウザーで表示] を選択します。 コントロールを含む HTML Web ページが表示されます。 ページには、"ATL 8.0 test page for object PolyCtl" というタイトル、ご自分のコントロール、"PolyCtl" というテキストが表示されます。

注

コントロールが表示されない場合は、一部のブラウザーでは、ActiveX コントロールを実行するために設定の調整が必要であることにご注意ください。 ActiveX コントロールを有効にする方法については、ブラウザーのドキュメントを参照してください。

注

このチュートリアルの完了時に、エラー メッセージが表示されて DLL ファイルを作成できない場合は、PolyCtl.htm ファイルと ActiveX コントロール テスト コンテナーを閉じ、ソリューションを再度ビルドします。 それでも DLL を作成できない場合は、コンピューターを再起動するか、ログオフします (ターミナル サービスを使用している場合)。

次は、カスタム プロパティをコントロールに追加します。

手順 1 に戻る | 手順 3 に進む

関連項目

チュートリアル