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


Элементы управления ActiveX в MFC. Оптимизация

В этой статье описываются методы, которые можно использовать для оптимизации элементов ActiveX для повышения производительности.

Важно!

ActiveX — это устаревшая технология, которую не следует использовать для новых разработок. Дополнительные сведения о современных технологиях, которые заменяют ActiveX, см. в разделе Элементы ActiveX.

Разделы , посвященные отключению параметра "Активировать, когда видимый параметр " и "Предоставление взаимодействия с мышью" во время неактивного обсуждения элементов управления, которые не создают окно, пока не будут активированы. В разделе "Предоставление активации без окон" рассматриваются элементы управления, которые никогда не создают окно, даже если они активируются.

Windows имеет два основных недостатка для объектов OLE: они препятствуют прозрачным или неректентным объектам при активной активности, и они добавляют большие затраты на создание экземпляра и отображение элементов управления. Как правило, создание окна занимает 60 процентов времени создания элемента управления. При использовании одного общего окна (обычно контейнера) и некоторых кодов отправки элемент управления получает те же службы окон, как правило, без потери производительности. Наличие окна в основном ненужных накладных расходов для объекта.

Некоторые оптимизации не обязательно повышают производительность при использовании элемента управления в определенных контейнерах. Например, контейнеры, выпущенные до 1996 года, не поддерживают активацию без окон, поэтому реализация этой функции не обеспечит преимущество в старых контейнерах. Однако почти каждый контейнер поддерживает сохраняемость, поэтому оптимизация кода сохраняемости элемента управления, скорее всего, улучшит его производительность в любом контейнере. Если элемент управления предназначен специально для использования с одним типом контейнера, может потребоваться изучить, какие из этих оптимизаций поддерживаются этим контейнером. Однако в целом следует попытаться реализовать столько методов, сколько применимо к конкретному элементу управления, чтобы обеспечить выполнение вашего элемента управления, а также, возможно, в широком массиве контейнеров.

Вы можете реализовать многие из этих оптимизаций с помощью мастера управления ActiveX MFC на странице "Элемент управления Параметры".

Параметры оптимизации OLE мастера управления ActiveX MFC

Настройка элемента управления в мастере управления ActiveX MFC Действие Дополнительные сведения
Активация при отображении поля проверка Clear Отключение активации при видимом параметре
Окно проверка активации без окон Выбрать Предоставление активации без окна
Окно проверка контекста устройства Выбрать Использование необрезанного контекста устройства
Поле проверка активации без мерцания Выбрать Обеспечение активации без мерцания
Уведомления указателя мыши при неактивном проверка поле Выбрать Обеспечение взаимодействия с мышью в неактивном режиме
Оптимизированный код рисования проверка поле Выбрать Оптимизация рисования элементов управления

Подробные сведения о функциях-членах, реализующих эти оптимизации, см. в разделе COleControl.

Дополнительные сведения см. в разделе:

См. также

Элементы ActiveX библиотеки MFC