Пошаговое руководство. Создание многоплатформенного элемента управления ActiveX ATL для интеллектуальных устройств
Обновлен: Ноябрь 2007
Можно использовать Visual C++ для устройств с целью создания элементов управления ActiveX, предназначенных для нескольких устройств. В следующем пошаговом руководстве показано, как построить многоплатформенный элемент управления ATL.
В данном пошаговом руководстве необходимо выполнить следующие задачи:
Создать многоплатформенный проект ATL для смарт-устройств.
Добавить элемент управления ActiveX в проект с помощью мастера. Обратите внимание, что большая часть основной структуры и кода создается мастером.
Изменить код в файлах stdafx.h и samplecontrol.h для определения потоковой модели и устранения предупреждений компилятора.
Развернуть многоплатформенное решение. Обратите внимание, что также создается файл обозревателя Internet Explorer для облегчения тестирования и запуска элемента управления.
Это пошаговое руководство было написано с помощью параметров разработки Visual C++.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке, в зависимости от текущих параметров или выпуска. Чтобы изменить параметры в меню Сервис, выберите пункт Импорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Создание многоплатформенного элемента управления ActiveX ATL
Чтобы создать многоплатформенный элемент управления ActiveX ATL
В меню Файл выберите Создать, щелкните Проект, разверните узел Visual C++ в области Типы проектов, затем щелкните Смарт-устройства.
В области Шаблоны щелкните Проект смарт-устройства библиотеки ATL.
В окне Имя введите ATLAXControl и нажмите кнопку ОК.
Будет запущен мастер проектов интеллектуальных устройств ATL.
На странице приветствия мастера проектов интеллектуальных устройств ATL нажмите кнопку Далее.
Отображается Платформы, мастер проектов смарт-устройств ATL, после чего можно выбрать пакет SDK платформы для добавления в текущий проект.
В списке Установленные пакеты SDK выберите платформы, которые следует добавить в текущий проект, например Smartphone 2003 и Pocket PC 2003. Чтобы добавить платформу, выберите платформу в левой части, например Smartphone 2003, и нажмите кнопку с изображенной на ней стрелкой вправо (>). Чтобы удалить платформу, выберите платформу в правой области, например Pocket PC 2003, и нажмите кнопку с изображенной на ней стрелкой влево (<).
Чтобы завершить работу мастера и закрыть его, нажмите кнопку Готово.
Добавление элемента управления ActiveX в проект
Чтобы добавить элемент управления ActiveX в проект
В обозревателе решений щелкните ATLAXControl правой кнопкой мыши, выберите Добавить и щелкните Класс.
В области Категории щелкните пункт Смарт-устройство.
В области Шаблоны щелкните Элемент управления ATL, затем нажмите кнопку Добавить.
Будет открыто диалоговое окно Мастер элементов управления ATL.
В текстовом поле Краткое имя введите samplecontrol.
Чтобы завершить работу мастера и закрыть его, нажмите кнопку Готово.
Изменение кода в файлах заголовков
Чтобы изменить код в stdafx.h
Дважды щелкните файл stdafx.h в окне обозревателя решений.
Добавьте следующее определение #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA после #pragma once, как показано здесь:
// Add this define after #pragma once #define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA
Добавьте в проект элемент управления ActiveX, как показано в следующей процедуре.
Чтобы добавить элемент управления ActiveX в проект
Дважды щелкните файл samplecontrol.h в окне обозревателя решений.
Замените строку ATL 8.0 : samplecontrol на строку Hello World ActiveX Control в коде, определяющем Isamplecontrol.
Примечание. |
---|
Элементы управления ActiveX для платформы DCOM должны быть помечены при построении как использующие поток замкнутой модели. Это параметр мастера элементов управления ATL по умолчанию. Можно игнорировать предупреждение, создаваемое во время компиляции. Также проекты ATL, GUI и EXE, такие, к которым были добавлены файлы atlwin.h, atlctl.h и atlhost.h в рамках проекта EXE ATL, должны иметь объект _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA, определенный в файле stdafx.h до включения в файлы заголовков ATL. Эта методика не отличается от разработки приложений для настольных ПК. Дополнительные сведения см. в разделе Построение и отладка проектов устройств Visual C++. |
Развертывание многоплатформенного решения ATL
Чтобы развернуть решение
В меню Построение щелкните команду Перестроить решение для построения элемента управления.
В меню Построение выберите Развернуть решение.
В раскрывающемся списке Конечное устройство в панели инструментов Visual Studio выберите целевую платформу, например Pocket PC 2003 SE Emulator или Pocket PC 2003 Device.
В меню Построение выберите пункт Развернуть.
Выбор целевого устройства
Чтобы убедиться в отображении запроса на выбор устройства при развертывании решения, выполните следующую процедуру.
Чтобы запросить выбор устройства во время развертывания
В меню Сервис выберите пункт Параметры, разверните узел Инструменты устройства и выберите пункт Общие.
Если Инструменты устройства не отображаются, выберите Показать все параметры внизу диалогового окна Параметры.
Установите флажок Показать выбор устройств перед развертыванием проекта устройств и нажмите кнопку ОК.
Чтобы выполнить элемент управления, используйте обозреватель на устройстве, перейдите в папку Program Files\ATLAXControl и дважды щелкните файл обозревателя Internet Explorer ATLAXControl. Появятся одно или более предупреждений системы безопасности. Нажмите кнопку Да, чтобы открыть страницу.
См. также
Ссылки
Visual C++ (инструкции по смарт-устройствам)
Другие ресурсы
Практическое руководство. Создание многоплатформенного проекта устройства (Visual C++)