프로젝트 만들기(ATL 자습서, 1부)
이 자습서에서는 다각형을 표시하는 ActiveX 개체를 만드는, 특성이 없는 ATL 프로젝트를 단계별로 안내합니다. 개체에는 다각형을 구성하는 측면 수를 변경할 수 있는 옵션과 디스플레이를 새로 고치는 코드가 포함됩니다.
참고 항목
이 자습서에서는 Polygon 샘플과 동일한 소스 코드를 만듭니다. 소스 코드의 수동 입력 작업을 피하려면 Polygon 샘플 요약에서 다운로드할 수 있습니다. 그런 다음, 자습서를 진행하는 동안 Polygon 소스 코드를 참조하거나 이를 사용하여 자신의 프로젝트에서 오류를 확인할 수 있습니다. 컴파일하려면 pch.h(Visual Studio 2017 이하 버전은 stdafx.h)를 열고 다음을 바꿉니다.
#ifndef WINVER
#define WINVER 0x0400
#endif
다음과 같이 바꿉니다.
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
컴파일러는 regsvr32
가 올바르게 종료되지 않는 것에 여전히 불평하겠지만 사용자는 빌드된 컨트롤 DLL을 계속 유지하여 사용할 수 있습니다.
ATL 프로젝트 마법사를 사용하여 초기 ATL 프로젝트 만들기
Visual Studio 2017 이하 버전의 경우: 파일>신규>프로젝트를 선택합니다. Visual C++ 탭을 열고 MFC/ATL을 선택합니다. ATL 프로젝트를 선택합니다.
Visual Studio 2019의 경우: 파일>신규>프로젝트를 선택하고 검색 상자에 "atl"을 입력한 다음 ATL 프로젝트를 선택합니다.
Polygon을 프로젝트 이름으로 입력합니다.
소스 코드의 위치는 일반적으로 \Users\<username>\source\repos로 기본 설정되며 새 폴더가 자동으로 만들어집니다.
Visual Studio 2019에서 기본값을 적용하고 확인을 클릭합니다. Visual Studio 2017에서 확인을 클릭하여 ATL 프로젝트 마법사를 엽니다. 애플리케이션 설정을 클릭하여 사용 가능한 옵션을 확인합니다. 이 프로젝트는 컨트롤을 만들고 컨트롤은 In-process 서버여야 하므로 애플리케이션 유형을 DLL로 둡니다. 확인을 클릭합니다.
Visual Studio가 여러 파일을 생성하여 프로젝트를 만듭니다. Polygon
개체를 확장하여 솔루션 탐색기에서 이러한 파일을 볼 수 있습니다. 파일은 아래에 나열되어 있습니다.
파일 | 설명 |
---|---|
Polygon.cpp | DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer , DllUnregisterServer 구현을 포함합니다. 또한 프로젝트의 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 | DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer , DllUnregisterServer 구현을 포함합니다. 또한 프로젝트의 ATL 개체 목록인 개체 맵을 포함합니다. 처음에는 비어 있습니다. |
Polygon.def | 이 모듈 정의 파일은 DLL에 필요한 내보내기 정보를 링커에 제공합니다. |
Polygon.idl | 개체와 관련된 인터페이스를 설명하는 인터페이스 정의 언어 파일입니다. |
Polygon.rgs | 이 레지스트리 스크립트에는 프로그램의 DLL을 등록하는 데 필요한 정보가 포함되어 있습니다. |
Polygon.rc | 초기에 버전 정보와 프로젝트 이름이 포함된 문자열을 포함하는 리소스 파일입니다. |
Resource.h | 리소스 파일용 헤더 파일. |
Polygonps.def | 이 모듈 정의 파일은 아파트의 호출을 지원하는 프록시 및 스텁 코드에 필요한 내보내기 정보를 링커에 제공합니다. |
pch.cpp | pch.h를 #include 하는 파일입니다. |
pch.h | ATL 헤더 파일을 #include 하고 미리 컴파일할 파일입니다. |
솔루션 탐색기에서
Polygon
프로젝트를 마우스 오른쪽 단추로 클릭합니다.바로 가기 메뉴에서 속성을 클릭합니다.
링커를 클릭합니다. Per-UserRedirection 옵션을 예로 변경합니다.
확인을 클릭합니다.
다음 단계에서는 프로젝트에 컨트롤을 추가합니다.