次の方法で共有


プロジェクトの作成 (ATL チュートリアル、パート 1)

このチュートリアルでは、多角形を表示する ActiveX オブジェクトを作成する非属性 ATL プロジェクトについて順を追って説明します。 このオブジェクトには、ユーザーが多角形を構成する辺の数を変更できるようにするオプションと、表示を更新するためのコードが含まれています。

Note

このチュートリアルでは、Polygon サンプルと同じソース コードを作成します。 ソース コードの手入力を避けたい場合は、Polygon サンプルの要約のページからソース コードをダウンロードできます。 その後、Polygon のソース コードを参照しながらチュートリアルを進めることや、自分のプロジェクトのエラー チェックに使うことができます。 コンパイルするには、pch.h (Visual Studio 2017 以前の場合は stdafx.h) を開いて、次のように置き換えます。

#ifndef WINVER
#define WINVER 0x0400
#endif

with

#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif

regsvr32 が正しく終了していないと、コンパイラから問題が報告されますが、コントロールの DLL がビルドされ、使用できるようになるはずです。

ATL プロジェクト ウィザードを使って最初の ATL プロジェクトを作成するには

  1. Visual Studio 2017 以前の場合: [ファイル] > [新規作成] > [プロジェクト][Visual C++] タブを開き、[MFC/ATL] を選びます。 [ATL プロジェクト] を選びます。

    Visual Studio 2019 の場合: [ファイル]>[新規作成]>[プロジェクト] を選び、検索ボックスに「atl」と入力し、[ATL プロジェクト] を選びます。

  2. プロジェクト名として「Polygon」と入力します。

    通常、ソース コードの場所は、既定で \Users\<username>\source\repos であり、新しいフォルダーが自動的に作成されます。

  3. Visual Studio 2019 の場合は、既定値のままにして [OK] をクリックします。 Visual Studio 2017 の場合は、[OK] をクリックし、[ATL プロジェクト] ウィザードを開きます。 [アプリケーション設定] をクリックし、使用できるオプションを確認します。 このプロジェクトではコントロールを作成しますが、コントロールはインプロセス サーバーにする必要があるので、[アプリケーションの種類] は DLL のままにしておきます。 [OK] をクリックします。

Visual Studio によって、いくつかのファイルが生成され、プロジェクトが作成されます。 ソリューション エクスプローラーでこれらのファイルを表示するには、Polygon オブジェクトを展開します。 ファイルは次のとおりです。

ファイル 説明
Polygon.cpp DllMainDllCanUnloadNowDllGetClassObjectDllRegisterServerDllUnregisterServer の実装が含まれています。 また、プロジェクト内の ATL オブジェクトの一覧であるオブジェクト マップも含まれています。 初期状態では、これは空白です。
Polygon.def このモジュール定義ファイルは、DLL に必要なエクスポートに関する情報をリンカーに提供するものです。
Polygon.idl インターフェイス定義言語ファイル。オブジェクトに固有のインターフェイスを記述するために使います。
Polygon.rgs このレジストリ スクリプトには、プログラムの DLL を登録するための情報が含まれています。
Polygon.rc リソース ファイル。初期状態ではバージョン情報とプロジェクト名を含む文字列が含まれています。
Resource.h リソース ファイルのヘッダー ファイルです。
Polygonps.def このモジュール定義ファイルは、プロキシに必要なエクスポートに関する情報と、アパートメント間の呼び出しをサポートするスタブ コードをリンカーに提供するものです。
stdafx.cpp stdafx.h#include するファイル。
stdafx.h ATL ヘッダー ファイルを #include し、プリコンパイルするファイル。
ファイル 説明
Polygon.cpp DllMainDllCanUnloadNowDllGetClassObjectDllRegisterServerDllUnregisterServer の実装が含まれています。 また、プロジェクト内の ATL オブジェクトの一覧であるオブジェクト マップも含まれています。 初期状態では、これは空白です。
Polygon.def このモジュール定義ファイルは、DLL に必要なエクスポートに関する情報をリンカーに提供するものです。
Polygon.idl インターフェイス定義言語ファイル。オブジェクトに固有のインターフェイスを記述するために使います。
Polygon.rgs このレジストリ スクリプトには、プログラムの DLL を登録するための情報が含まれています。
Polygon.rc リソース ファイル。初期状態ではバージョン情報とプロジェクト名を含む文字列が含まれています。
Resource.h リソース ファイルのヘッダー ファイルです。
Polygonps.def このモジュール定義ファイルは、プロキシに必要なエクスポートに関する情報と、アパートメント間の呼び出しをサポートするスタブ コードをリンカーに提供するものです。
pch.cpp pch.h#include するファイル。
pch.h ATL ヘッダー ファイルを #include し、プリコンパイルするファイル。
  1. ソリューション エクスプローラーで、Polygon プロジェクトを右クリックします。

  2. ショートカット メニューの [プロパティ] をクリックします。

  3. [リンカー] をクリックします。 [Per-UserRedirection] オプションを [はい] に変更します。

  4. [OK] をクリックします。

次の手順では、プロジェクトにコントロールを追加します。

ステップ 2 に進む

関連項目

チュートリアル