다음을 통해 공유


연습: 스마트 장치용 ATL 다중 플랫폼 ActiveX 컨트롤 만들기

업데이트: 2007년 11월

장치용 Visual C++를 사용하여 여러 장치를 대상으로 하는 ActiveX 컨트롤을 작성할 수 있습니다. 다음 연습에서는 다중 플랫폼 ATL ActiveX 컨트롤을 빌드하는 방법을 보여 줍니다.

이 연습에서는 다음의 주요 작업을 수행합니다.

  • 다중 플랫폼 스마트 장치 ATL 프로젝트를 만듭니다.

  • 마법사를 사용하여 ActiveX 컨트롤을 프로젝트에 추가합니다. 대부분의 기본 구조 및 코드는 마법사에 의해 생성됩니다.

  • stdafx.h 및 samplecontrol.h 파일의 코드를 수정하여 스레드 모델을 정의하고 컴파일러 경고를 방지합니다.

  • 다중 플랫폼 솔루션을 배포합니다. 컨트롤의 테스트와 실행이 용이하도록 Internet Explorer 파일도 생성됩니다.

이 연습은 Visual C++ 개발 설정을 사용하여 작성했습니다.

참고:

표시되는 대화 상자와 메뉴 명령은 실제 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

다중 플랫폼 ATL ActiveX 컨트롤 만들기

다중 플랫폼 ATL ActiveX 컨트롤을 만들려면

  1. 파일 메뉴에서 새로 만들기를 가리키고 프로젝트를 클릭한 다음 프로젝트 형식 창에서 Visual C++ 노드를 확장하고 스마트 장치를 클릭합니다.

  2. 템플릿 창에서 ATL 스마트 장치 프로젝트를 클릭합니다.

  3. 이름 상자에 ATLAXControl을 입력한 다음 확인을 클릭합니다.

    ATL 스마트 장치 프로젝트 마법사가 시작됩니다.

  4. ATL 스마트 장치 프로젝트 마법사 시작 페이지에서 다음을 클릭합니다.

    현재 프로젝트에 추가할 플랫폼 SDK를 선택할 수 있는 ATL 스마트 장치 프로젝트 마법사, 플랫폼이 표시됩니다.

  5. 설치되어 있는 SDK 목록에서 Smartphone 2003 및 Pocket PC 2003과 같이 현재 프로젝트에 추가할 플랫폼을 선택합니다. 플랫폼을 추가하려면 왼쪽 창에서 Smartphone 2003과 같은 플랫폼을 선택하고 오른쪽 화살표(>)가 표시된 단추를 클릭합니다. 플랫폼을 제거하려면 오른쪽 창에서 Pocket PC 2003과 같은 플랫폼을 선택하고 왼쪽 화살표(<)가 표시된 단추를 클릭합니다.

  6. 마침을 클릭하여 마법사를 완료하고 닫습니다.

프로젝트에 ActiveX 컨트롤 추가

프로젝트에 ActiveX 컨트롤을 추가하려면

  1. 솔루션 탐색기에서 ATLAXControl을 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 클래스를 클릭합니다.

  2. 범주 창에서 스마트 장치를 클릭합니다.

  3. 템플릿 창에서 ATL 컨트롤을 클릭한 다음 추가를 클릭합니다.

    ATL 컨트롤 마법사 대화 상자가 나타납니다.

  4. 약식 이름 텍스트 상자에 samplecontrol을 입력합니다.

  5. 마침을 클릭하여 마법사를 완료하고 닫습니다.

헤더 파일의 코드 수정

stdafx.h의 코드를 수정하려면

  1. 솔루션 탐색기에서 stdafx.h를 두 번 클릭하여 편집기에서 엽니다.

  2. 아래와 같이 다음 정의 #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA를 #pragma once 뒤에 추가합니다.

        // Add this define after 
        #pragma once
    #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
    
  3. 다음 절차와 같이 ActiveX 컨트롤을 프로젝트에 추가합니다.

프로젝트에 ActiveX 컨트롤을 추가하려면

  1. 솔루션 탐색기에서 samplecontrol.h를 두 번 클릭하여 편집기에서 엽니다.

  2. Isamplecontrol을 정의하는 코드에서 ATL 8.0 : samplecontrol 문자열을 Hello World ActiveX Control로 바꿉니다.

참고:

DCOM 플랫폼용 ActiveX 컨트롤을 빌드할 때는 아파트 모델 스레드로 표시해야 합니다. 이것이 ATL 컨트롤 마법사의 기본 설정입니다. 컴파일 도중 생성되는 경고는 무시해도 안전합니다. 또한 atlwin.h, atlctl.h 또는 atlhost.h를 추가한 것과 같은 ATL, GUI 및 EXE 프로젝트에서는 ATL 헤더 파일을 포함하기 전에 stdafx.h에 _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA가 정의되어 있어야 합니다. 이 원칙은 데스크톱용으로 개발할 경우에도 마찬가지입니다. 자세한 내용은 Visual C++ 장치 프로젝트 빌드 및 디버깅을 참조하십시오.

다중 플랫폼 ATL 솔루션 배포

솔루션을 배포하려면

  1. 빌드 메뉴에서 솔루션 다시 빌드를 클릭하여 컨트롤을 빌드합니다.

  2. 빌드 메뉴에서 솔루션 배포를 클릭합니다.

  3. Visual Studio 도구 모음의 대상 장치 드롭다운 목록에서 Pocket PC 2003 SE 에뮬레이터 또는 Pocket PC 2003 장치와 같은 대상을 선택합니다.

  4. 빌드 메뉴에서 배포를 클릭합니다.

대상 장치 선택

솔루션을 배포할 때 장치 선택 메시지가 표시되도록 하려면 다음 단계를 수행해야 합니다.

배포할 때 장치 선택 메시지를 표시하려면

  1. 도구 메뉴에서 옵션을 클릭하고 장치 도구 노드를 확장한 다음 일반을 클릭합니다.

  2. 장치 도구가 표시되지 않으면 옵션 대화 상자 아래쪽에 있는 모든 설정 표시를 선택합니다.

  3. 장치 프로젝트 배포 전에 장치 선택 항목 표시 확인란을 선택한 다음 확인을 클릭합니다.

컨트롤을 실행하려면 장치에서 파일 탐색기를 사용하여 Program Files\ATLAXControl로 이동한 다음 Internet Explorer 파일인 ATLAXControl을 두 번 클릭합니다. 하나 이상의 보안 메시지가 표시됩니다. 예를 클릭하여 페이지를 실행합니다.

참고 항목

참조

Visual C++(스마트 장치 작업 절차)

기타 리소스

방법: 다중 플랫폼 장치 프로젝트 만들기(Visual C++)