Поделиться через


Образец IMAGE: создание элемента управления ActiveX, который выполняет асинхронную загрузку

Обновлен: Ноябрь 2007

Образец IMAGE демонстрирует использование библиотеки MFC для построения элемента управления ActiveX, который может выполнять асинхронную загрузку данных. Элемент управления обладает свойством, основанным на классе CDataPathProperty.

Элемент управления IMAGE может отображать растровые изображения из BMP-файлов (но не поддерживает BMP-файлы с глубиной цвета более 8 разрядов, поэтому файлы с числом цветов более 256 не могут отображаться). Свойство ImagePath элемента управления содержит путь к изображению. Если изображение имеет большой размер, и его загрузка выполняется по медленному каналу, то становится активной поддержка асинхронной передачи, встроенная в объект CDataPathProperty, управляющий путем, и данные направляются в код рисования элемента управления без блокирования других задач по обработке.

В элементе управления находится простая страница свойств, которая предоставляет доступ к свойству ImagePath и свойству AutoSize. Если свойство AutoSize установлено в значение TRUE, размер элемента управления автоматически устанавливается в соответствии с размером содержащегося в нем изображения. Если свойство AutoSize имеет значение FALSE, автоматическое изменение размера отключено.

В элементе управления с изображением также реализовано логическое свойство ReadyState, доступной только для чтение. Свойство ReadyState имеет значение TRUE, если элемент управления успешно считал и отобразил все данные из потока изображения. Свойство ReadyState имеет значение FALSE, пока элемент управления не будет полностью инициализирован.

Сведения о добавлении элемента управления на панель элементов, о регистрации элемента управления вручную и об использовании тестового контейнера элементов управления ActiveX см. в разделе Образцы элементов управления.

ms177530.alert_note(ru-ru,VS.90).gifПримечание.

Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи.

ms177530.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

См. также

Другие ресурсы

Примеры MFC