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


Класс COleControlSite

Обеспечивает поддержку пользовательских интерфейсов клиентских элементов управления.

Синтаксис

class COleControlSite : public CCmdTarget

Участники

Открытые конструкторы

Имя Описание
COleControlSite::COleControlSite Формирует объект COleControlSite.

Открытые методы

Имя Описание
COleControlSite::BindDefaultProperty Привязывает свойство по умолчанию размещенного элемента управления к источнику данных.
COleControlSite::BindProperty Привязывает свойство размещенного элемента управления к источнику данных.
COleControlSite::CreateControl Создает размещенный элемент activeX.
COleControlSite::DestroyControl Уничтожает размещенный элемент управления.
COleControlSite::DoVerb Выполняет определенную команду размещенного элемента управления.
COleControlSite::EnableDSC Включает источник данных для сайта управления.
COleControlSite::EnableWindow Включает сайт элемента управления.
COleControlSite::FreezeEvents Указывает, принимает ли сайт элемента управления события.
COleControlSite::GetDefBtnCode Извлекает код кнопки по умолчанию для размещенного элемента управления.
COleControlSite::GetDlgCtrlID Извлекает идентификатор элемента управления.
COleControlSite::GetEventIID Получает идентификатор интерфейса события для размещенного элемента управления.
COleControlSite::GetExStyle Извлекает расширенные стили сайта элемента управления.
COleControlSite::GetProperty Извлекает определенное свойство размещенного элемента управления.
COleControlSite::GetStyle Извлекает стили сайта элемента управления.
COleControlSite::GetWindowText Извлекает текст размещенного элемента управления.
COleControlSite::InvokeHelper Вызовите определенный метод размещенного элемента управления.
COleControlSite::InvokeHelperV Вызовите определенный метод размещенного элемента управления с переменным списком аргументов.
COleControlSite::IsDefaultButton Определяет, является ли элемент управления кнопкой по умолчанию в окне.
COleControlSite::IsWindowEnabled Проверяет видимое состояние сайта элемента управления.
COleControlSite::ModifyStyle Изменяет текущие расширенные стили сайта элемента управления.
COleControlSite::ModifyStyleEx Изменяет текущие стили сайта элемента управления.
COleControlSite::MoveWindow Изменяет положение сайта элемента управления.
COleControlSite::QuickActivate Быстрая активация размещенного элемента управления.
COleControlSite::SafeSetProperty Задает свойство или метод элемента управления без возможности возникновения исключения.
COleControlSite::SetDefaultButton Задает кнопку по умолчанию в окне.
COleControlSite::SetDlgCtrlID Извлекает идентификатор элемента управления.
COleControlSite::SetFocus Задает фокус на сайт элемента управления.
COleControlSite::SetProperty Задает определенное свойство размещенного элемента управления.
COleControlSite::SetPropertyV Задает определенное свойство размещенного элемента управления с переменным списком аргументов.
COleControlSite::SetWindowPos Задает положение сайта элемента управления.
COleControlSite::SetWindowText Задает текст размещенного элемента управления.
COleControlSite::ShowWindow Отображает или скрывает сайт элемента управления.

Защищенные методы

Имя Описание
COleControlSite::GetControlInfo Извлекает сведения о клавиатуре и mnemonics для размещенного элемента управления.

Открытые члены данных

Имя Описание
COleControlSite::m_bIsWindowless Определяет, является ли размещенный элемент управления бессерверным элементом управления.
COleControlSite::m_ctlInfo Содержит сведения об обработке клавиатуры для элемента управления.
COleControlSite::m_dwEventSink Файл cookie точки подключения элемента управления.
COleControlSite::m_dwMiscStatus Прочие состояния для размещенного элемента управления.
COleControlSite::m_dwPropNotifySink Файл IPropertyNotifySink cookie элемента управления.
COleControlSite::m_dwStyle Стили размещенного элемента управления.
COleControlSite::m_hWnd Дескриптор сайта элемента управления.
COleControlSite::m_iidEvents Идентификатор интерфейса события для размещенного элемента управления.
COleControlSite::m_nID Идентификатор размещенного элемента управления.
COleControlSite::m_pActiveObject Указатель на IOleInPlaceActiveObject объект размещенного элемента управления.
COleControlSite::m_pCtrlCont Контейнер размещенного элемента управления.
COleControlSite::m_pInPlaceObject Указатель на IOleInPlaceObject объект размещенного элемента управления.
COleControlSite::m_pObject Указатель на IOleObjectInterface интерфейс элемента управления.
COleControlSite::m_pWindowlessObject Указатель на IOleInPlaceObjectWindowless интерфейс элемента управления.
COleControlSite::m_pWndCtrl Указатель на объект окна для размещенного элемента управления.
COleControlSite::m_rect Размеры сайта элемента управления.

Замечания

Эта поддержка является основным средством, с помощью которого внедренный элемент activeX получает сведения о расположении и экстенте своего отображаемого сайта, его моникере, пользовательском интерфейсе, его внешних свойствах и других ресурсах, предоставляемых контейнером. COleControlSiteполностью реализует интерфейсы IOleControlSite, IOleInPlaceSite, IOleClientSite, IPropertyNotifySink, IBoundObjectSite, INotifyDBEventsIRowSetNotify. Кроме того, реализован интерфейс IDispatch (предоставляющий поддержку внешних свойств и приемников событий).

Чтобы создать сайт элемента управления ActiveX с помощьюCOleControlSite, наследуйте класс.COleControlSite CWndВ производном классе для контейнера (например, диалоговое окно) переопределите функциюCWnd::CreateControlSite.

Иерархия наследования

CObject

CCmdTarget

COleControlSite

Требования

Заголовок: afxocc.h

COleControlSite::BindDefaultProperty

Привязывает свойство простой привязки объекта по умолчанию, как помечено в библиотеке типов, к базовому курсору, определенному свойствами DataSource, UserName, Password и SQL элемента управления источниками данных.

virtual void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Параметры

dwDispID
Указывает DISPID свойства в элементе управления с привязкой к данным, который должен быть привязан к элементу управления источником данных.

vtProp
Указывает тип привязанного свойства, например VT_BSTR, VT_VARIANT и т. д.

szFieldName
Указывает имя столбца в курсоре, предоставленном элементом управления источником данных, к которому будет привязано свойство.

pDSCWnd
Указатель на производный CWndобъект, на котором размещается элемент управления источником данных, к которому будет привязано свойство.

Замечания

Объект CWnd , на котором вызывается эта функция, должен быть элементом управления, привязанным к данным.

COleControlSite::BindProperty

Привязывает простое свойство привязки вызывающего объекта, как помечено в библиотеке типов, к базовому курсору, определенному свойством DataSource, UserName, Password и SQL элемента управления источниками данных.

virtual void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Параметры

dwDispId
Указывает DISPID свойства в элементе управления с привязкой к данным, который должен быть привязан к элементу управления источником данных.

pWndDSC
Указатель на производный CWndобъект, на котором размещается элемент управления источником данных, к которому будет привязано свойство.

Замечания

Объект CWnd , на котором вызывается эта функция, должен быть элементом управления, привязанным к данным.

COleControlSite::COleControlSite

Создает новый объект COleControlSite.

explicit COleControlSite(COleControlContainer* pCtrlCont);

Параметры

pCtrlCont
Указатель на контейнер элемента управления (который представляет окно, в котором размещается элемент управления AtiveX).

Замечания

Эта функция вызывается функцией COccManager::CreateContainer . Дополнительные сведения о настройке создания контейнеров см. в разделе COccManager::CreateSite.

COleControlSite::CreateControl

Создает элемент activeX, размещенный COleControlSite объектом.

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Параметры

pWndCtrl
Указатель на объект окна, представляющий элемент управления.

clsid
Уникальный идентификатор класса элемента управления.

lpszWindowName
Указатель на текст, отображаемый в элементе управления. Задает значение заголовка winodw или свойства Text (если таковые имеются).

dwStyle
Стили Windows. Доступные стили перечислены в разделе "Примечания ".

rect
Указывает размер и положение элемента управления. Это может быть CRect объект или RECT структура.

nID
Указывает идентификатор дочернего окна элемента управления.

pPersist
Указатель на CFile постоянное состояние элемента управления. Значение по умолчанию — NULL, указывающее, что элемент управления инициализирует себя без восстановления состояния из любого постоянного хранилища. В противном случае значение NULL должно быть указателем на CFileпроизводный объект, содержащий постоянные данные элемента управления, в виде потока или хранилища. Эти данные могли быть сохранены в предыдущей активации клиента. Он CFile может содержать другие данные, но должен иметь указатель записи для чтения и записи в первый байт постоянных данных во время вызова CreateControl.

bStorage
Указывает, должны ли данные в pPersist интерпретироваться как IStorage или IStream данные. Если данные в pPersist — это хранилище, bStorage должен иметь значение TRUE. Если данные в pPersist являются потоком, bStorage должен иметь значение FALSE. Значение по умолчанию — FALSE.

bstrLicKey
Необязательные данные ключа лицензии. Эти данные необходимы только для создания элементов управления, требующих ключа лицензии во время выполнения. Если элемент управления поддерживает лицензирование, необходимо предоставить ключ лицензии для успешного создания элемента управления. Значение по умолчанию — NULL.

ppt
Указатель на POINT структуру, содержащую левый верхний угол элемента управления. Размер элемента управления определяется значением psize. Значения ppt и psize — это необязательный метод указания размера и положения элемента управления.

psize
Указатель на SIZE структуру, содержащую размер элемента управления. Верхний левый угол определяется значением ppt. Значения ppt и psize — это необязательный метод указания размера и положения элемента управления.

Возвращаемое значение

Стандартное значение HRESULT.

Замечания

Поддерживается только подмножество флагов Windows dwStyle:CreateControl

  • WS_VISIBLE Создает окно, которое изначально отображается. Требуется, если вы хотите, чтобы элемент управления был видимым немедленно, как обычные окна.

  • WS_DISABLED Создает окно, которое изначально отключено. Отключенное окно не может получать входные данные от пользователя. Можно задать, если элемент управления имеет свойство Enabled.

  • WS_BORDER Создает окно с тонкой линией границы. Можно задать, если элемент управления имеет свойство BorderStyle.

  • WS_GROUP Указывает первый элемент управления группы элементов управления. Пользователь может изменить фокус клавиатуры с одного элемента управления в группе на следующий с помощью клавиш направления. Все элементы управления, определенные с помощью стиля WS_GROUP после того, как первый элемент управления принадлежит одной группе. Следующий элемент управления со стилем WS_GROUP заканчивается группой и запускает следующую группу.

  • WS_TABSTOP Указывает элемент управления, который может получить фокус клавиатуры, когда пользователь нажимает клавишу TAB. Нажатие клавиши TAB изменяет фокус клавиатуры на следующий элемент управления стилем WS_TABSTOP.

Используйте вторую перегрузку для создания элементов управления размером по умолчанию.

COleControlSite::DestroyControl

Уничтожает COleControlSite объект.

virtual BOOL DestroyControl();

Возвращаемое значение

Ненулевое значение, если выполнено успешно, в противном случае — значение 0.

Замечания

После завершения объект освобождается от памяти, а все указатели на объект больше не допустимы.

COleControlSite::DoVerb

Выполняет указанную команду.

virtual HRESULT DoVerb(
    LONG nVerb,
    LPMSG lpMsg = NULL);

Параметры

nVerb
Указывает выполняемую команду. Он может включать одно из следующих элементов:

Значение Значение Символ
0 первичный глагол OLEIVERB_PRIMARY
-1 Вторичная команда (Нет)
1 Отображает объект для редактирования. OLEIVERB_SHOW
-2 Изменяет элемент в отдельном окне. OLEIVERB_OPEN
-3 Скрывает объект. OLEIVERB_HIDE
-4 Активирует элемент управления на месте. OLEIVERB_UIACTIVATE
-5 Активирует элемент управления на месте без дополнительных элементов пользовательского интерфейса. OLEIVERB_INPLACEACTIVATE
-7 Отображение свойств элемента управления. OLEIVERB_PROPERTIES

lpMsg
Указатель на сообщение, которое вызвало активацию элемента.

Возвращаемое значение

Стандартное значение HRESULT.

Замечания

Эта функция напрямую вызывает интерфейс элемента управления IOleObject для выполнения указанной команды. Если исключение возникает в результате вызова функции, возвращается код ошибки HRESULT.

Дополнительные сведения см. в разделе IOleObject::D oVerb в пакете SDK для Windows.

COleControlSite::EnableDSC

Включает источник данных для сайта управления.

virtual void EnableDSC();

Замечания

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

COleControlSite::EnableWindow

Включает или отключает ввод мыши и клавиатуры на сайт управления.

virtual BOOL EnableWindow(BOOL bEnable);

Параметры

bEnable
Указывает, следует ли включить или отключить окно: TRUE, если входные данные окна должны быть включены, в противном случае — FALSE.

Возвращаемое значение

Ненулевое значение, если окно было отключено ранее, в противном случае — значение 0.

COleControlSite::FreezeEvents

Указывает, будет ли сайт элемента управления обрабатывать или игнорировать события, запущенные из элемента управления.

void FreezeEvents(BOOL bFreeze);

Параметры

bFreeze
Указывает, требуется ли остановить прием событий для местоположения элемента управления. Ненулевое значение, если элемент управления не принимает события; в противном случае ноль.

Замечания

Если bFreeze имеет значение TRUE, сайт управления запрашивает элемент управления, чтобы остановить запуск событий. Если bFreeze имеет значение FALSE, сайт управления запрашивает элемент управления для продолжения выполнения событий.

Примечание.

Элемент управления не требуется, чтобы прекратить запуск событий, если запрашивается сайтом управления. Он может продолжать выполняться, но все последующие события будут игнорироваться сайтом управления.

COleControlSite::GetControlInfo

Извлекает сведения о поведении клавиатуры и клавиатуры элемента управления.

void GetControlInfo();

Замечания

Сведения хранятся в COleControlSite::m_ctlInfo.

COleControlSite::GetDefBtnCode

Определяет, является ли элемент управления кнопкой по умолчанию.

DWORD GetDefBtnCode();

Возвращаемое значение

Может использоваться одно из следующих значений:

  • DLGC_DEFPUSHBUTTON Элемент управления — это кнопка по умолчанию в диалоговом окне.

  • DLGC_UNDEFPUSHBUTTON элемент управления не является кнопкой по умолчанию в диалоговом окне.

  • Элемент управления 0 не является кнопкой.

COleControlSite::GetDlgCtrlID

Извлекает идентификатор элемента управления.

virtual int GetDlgCtrlID() const;

Возвращаемое значение

Идентификатор элемента диалогового окна элемента управления.

COleControlSite::GetEventIID

Извлекает указатель на интерфейс событий по умолчанию элемента управления.

BOOL GetEventIID(IID* piid);

Параметры

piid
Указатель на идентификатор интерфейса.

Возвращаемое значение

Ненулевое значение, если выполнено успешно, в противном случае — значение 0. В случае успешного выполнения piid содержит идентификатор интерфейса для интерфейса событий по умолчанию элемента управления.

COleControlSite::GetExStyle

Извлекает расширенные стили окна.

virtual DWORD GetExStyle() const;

Возвращаемое значение

Расширенные стили окна управления.

Замечания

Чтобы получить обычные стили, вызовите COleControlSite::GetStyle.

COleControlSite::GetProperty

Возвращает свойство элемента управления, указанное dwDispID.

virtual void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp) const;

Параметры

dwDispID
Определяет идентификатор диспетчера свойства, найденного в интерфейсе элемента управления по умолчанию IDispatch .

vtProp
Указывает тип извлекаемого свойства. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

pvProp
Адрес переменной, которая получит значение свойства. Он должен соответствовать типу, указанному vtProp.

Замечания

Значение возвращается через pvProp.

COleControlSite::GetStyle

Извлекает стили сайта элемента управления.

virtual DWORD GetStyle() const;

Возвращаемое значение

Стили окна.

Замечания

Список возможных значений см. в разделе "Стили Windows". Чтобы получить расширенные стили сайта элемента управления, вызовите COleControlSite::GetExStyle.

COleControlSite::GetWindowText

Извлекает текущий текст элемента управления.

virtual void GetWindowText(CString& str) const;

Параметры

str
Ссылка на CString объект, содержащий текущий текст элемента управления.

Замечания

Если элемент управления поддерживает свойство caption stock, возвращается это значение. Если свойство caption stock не поддерживается, возвращается значение свойства Text.

COleControlSite::InvokeHelper

Вызывает метод или свойство, указанное dwDispID, в контексте, указанном wFlags.

virtual void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo, ...);

Параметры

dwDispID
Определяет идентификатор диспетчера свойства или метода, найденного в интерфейсе элемента управления IDispatch , который требуется вызвать.

wFlags
Флаги, описывающие контекст вызова IDispatch::Invoke. Возможные значения wFlags см IDispatch::Invoke . в пакете SDK для Windows.

vtRet
Указывает тип возвращаемого значения. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

pvRet
Адрес переменной, которая будет принимать значение свойства или возвращаемое значение. Он должен соответствовать типу, указанному vtRet.

pbParamInfo
Указатель на строку, завершающуюся значением NULL, в байтах, указывающую типы параметров после pbParamInfo. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

...
Список параметров, типов, указанных в pbParamInfo.

Замечания

Параметр pbParamInfo указывает типы параметров, передаваемых методу или свойству. Переменный список аргументов представлен в объявлении синтаксиса как ... .

Эта функция преобразует параметры в значения VARIANTARG, а затем вызывает IDispatch::Invoke метод в элементе управления. Если вызов IDispatch::Invoke завершается сбоем, эта функция создает исключение. Если код состояния возвращается IDispatch::Invoke DISP_E_EXCEPTION, эта функция создает COleDispatchException объект, в противном случае вызывается COleExceptionисключение.

COleControlSite::InvokeHelperV

Вызывает метод или свойство, указанное dwDispID, в контексте, указанном wFlags.

virtual void InvokeHelperV(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    va_list argList);

Параметры

dwDispID
Определяет идентификатор диспетчера свойства или метода, найденного в интерфейсе элемента управления IDispatch , который требуется вызвать.

wFlags
Флаги, описывающие контекст вызова IDispatch::Invoke.

vtRet
Указывает тип возвращаемого значения. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

pvRet
Адрес переменной, которая будет принимать значение свойства или возвращаемое значение. Он должен соответствовать типу, указанному vtRet.

pbParamInfo
Указатель на строку, завершающуюся значением NULL, в байтах, указывающую типы параметров после pbParamInfo. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

argList
Указатель на список аргументов переменной.

Замечания

Параметр pbParamInfo указывает типы параметров, передаваемых методу или свойству. Дополнительные параметры вызываемого метода или свойства можно передать с помощью параметра va_list .

Как правило, эта функция вызывается COleControlSite::InvokeHelper.

COleControlSite::IsDefaultButton

Определяет, является ли элемент управления кнопкой по умолчанию.

BOOL IsDefaultButton();

Возвращаемое значение

Ненулевое значение, если элемент управления является кнопкой по умолчанию в окне, в противном случае — ноль.

COleControlSite::IsWindowEnabled

Определяет, включен ли сайт элемента управления.

virtual BOOL IsWindowEnabled() const;

Возвращаемое значение

Ненулевое значение, если элемент управления включен, в противном случае — ноль.

Замечания

Значение извлекается из свойства включено акций элемента управления.

COleControlSite::m_bIsWindowless

Определяет, является ли объект элементом управления без окон.

BOOL m_bIsWindowless;

Замечания

Ненулевое значение, если элемент управления не имеет окна, в противном случае — ноль.

COleControlSite::m_ctlInfo

Сведения о том, как ввод клавиатуры обрабатывается элементом управления.

CONTROLINFO m_ctlInfo;

Замечания

Эти сведения хранятся в структуре CONTROLINFO .

COleControlSite::m_dwEventSink

Содержит файл cookie точки подключения из приемника событий элемента управления.

DWORD m_dwEventSink;

COleControlSite::m_dwMiscStatus

Содержит другие сведения об элементе управления.

DWORD m_dwMiscStatus;

Замечания

Дополнительные сведения см . в OLEMISCв пакете SDK для Windows.

COleControlSite::m_dwPropNotifySink

Содержит файл cookie IPropertyNotifySink .

DWORD m_dwPropNotifySink;

COleControlSite::m_dwStyle

Содержит стили окна элемента управления.

DWORD m_dwStyle;

COleControlSite::m_hWnd

Содержит HWND элемента управления или NULL, если элемент управления не является окном.

HWND m_hWnd;

COleControlSite::m_iidEvents

Содержит идентификатор интерфейса приемника событий по умолчанию элемента управления.

IID m_iidEvents;

COleControlSite::m_nID

Содержит идентификатор элемента диалогового окна элемента управления.

UINT m_nID;

COleControlSite::m_pActiveObject

Содержит интерфейс IOleInPlaceActiveObject элемента управления.

LPOLEINPLACEACTIVEOBJECT m_pActiveObject;

COleControlSite::m_pCtrlCont

Содержит контейнер элемента управления (представляющий форму).

COleControlContainer* m_pCtrlCont;

COleControlSite::m_pInPlaceObject

Содержит IOleInPlaceObject интерфейс IOleInPlaceObject элемента управления.

LPOLEINPLACEOBJECT m_pInPlaceObject;

COleControlSite::m_pObject

Содержит IOleObjectInterface интерфейс элемента управления.

LPOLEOBJECT m_pObject;

COleControlSite::m_pWindowlessObject

Содержит IOleInPlaceObjectWindowlessинтерфейс IOleInPlaceObjectWindowless элемента управления.

IOleInPlaceObjectWindowless* m_pWindowlessObject;

COleControlSite::m_pWndCtrl

Содержит указатель на CWnd объект, представляющий сам элемент управления.

CWnd* m_pWndCtrl;

COleControlSite::m_rect

Содержит границы элемента управления относительно окна контейнера.

CRect m_rect;

COleControlSite::ModifyStyle

Изменяет стили элемента управления.

virtual BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Параметры

dwRemove
Стили, которые необходимо удалить из текущих стилей окон.

dwAdd
Стили, добавляемые из текущих стилей окон.

nFlags
Флаги размещения окна. Список возможных значений см . в функции SetWindowPos в пакете SDK для Windows.

Возвращаемое значение

Ненулевое значение, если стили изменены, в противном случае — ноль.

Замечания

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

Изменяет стили окон элемента управления. Стили для добавления или удаления можно объединить с помощью побитового оператора OR (|). Сведения о доступных стилях окон см. в функции CreateWindow в пакете SDK для Windows.

Если nFlags является ненулевой, ModifyStyle вызывает функцию SetWindowPosWin32 и перерисовывает окно путем объединения nFlags со следующими четырьмя флагами:

  • SWP_NOSIZE сохраняет текущий размер.

  • SWP_NOMOVE сохраняет текущую позицию.

  • SWP_NOZORDER сохраняет текущий порядок Z.

  • SWP_NOACTIVATE не активирует окно.

Чтобы изменить расширенные стили окна, вызовите ModifyStyleEx.

COleControlSite::ModifyStyleEx

Изменяет расширенные стили элемента управления.

virtual BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Параметры

dwRemove
Расширенные стили, которые необходимо удалить из текущих стилей окон.

dwAdd
Расширенные стили, добавляемые из текущих стилей окон.

nFlags
Флаги размещения окна. Список возможных значений см . в функции SetWindowPos в пакете SDK для Windows.

Возвращаемое значение

Ненулевое значение, если стили изменены, в противном случае — ноль.

Замечания

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

Изменяет расширенные стили окна объекта сайта элемента управления. Стили для добавления или удаления можно объединить с помощью побитового оператора OR (|). Сведения о доступных стилях окон см. в функции CreateWindowEx в пакете SDK для Windows.

Если nFlags является ненулевой, ModifyStyleEx вызывает функцию SetWindowPosWin32 и перерисовывает окно путем объединения nFlags со следующими четырьмя флагами:

  • SWP_NOSIZE сохраняет текущий размер.

  • SWP_NOMOVE сохраняет текущую позицию.

  • SWP_NOZORDER сохраняет текущий порядок Z.

  • SWP_NOACTIVATE не активирует окно.

Чтобы изменить расширенные стили окна, вызовите ModifyStyle.

COleControlSite::MoveWindow

Изменяет положение элемента управления.

virtual void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight);

Параметры

x
Новая позиция левой стороны окна.

г
Новая позиция верхней части окна.

nWidth
Новая ширина окна

nHeight
Новая высота окна.

COleControlSite::QuickActivate

Быстрая активация автономного элемента управления.

virtual BOOL QuickActivate();

Возвращаемое значение

Ненулевое значение, если узел управления был активирован, в противном случае — ноль.

Замечания

Эта функция должна вызываться только в том случае, если пользователь переопределяет процесс создания элемента управления.

IPersist*::InitNew Методы IPersist*::Load должны вызываться после быстрого активации. Элемент управления должен установить свои подключения к приемникам контейнера во время быстрой активации. Однако эти подключения не живут до IPersist*::Load или IPersist*::InitNew не будут вызваны.

COleControlSite::SafeSetProperty

Задает свойство элемента управления, указанное dwDispID.

virtual BOOL AFX_CDECL SafeSetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Параметры

dwDispID
Определяет идентификатор диспетчера свойства или метода, найденного в интерфейсе элемента управления IDispatch .

vtProp
Указывает тип заданного свойства. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

...
Один параметр типа, указанного vtProp.

Возвращаемое значение

Ненулевое значение в случае успеха, иначе — 0.

Замечания

Примечание.

В отличие SetProperty от ошибки SetPropertyV(например, попытка задать несуществующее свойство), исключение не возникает.

COleControlSite::SetDefaultButton

Задает элемент управления в качестве кнопки по умолчанию.

void SetDefaultButton(BOOL bDefault);

Параметры

bDefault
Ненулевое значение, если элемент управления должен стать кнопкой по умолчанию; в противном случае ноль.

Замечания

Примечание.

Элемент управления должен иметь бит состояния OLEMISC_ACTSLIKEBUTTON.

COleControlSite::SetDlgCtrlID

Изменяет значение идентификатора элемента диалогового окна элемента элемента управления.

virtual int SetDlgCtrlID(int nID);

Параметры

nID
Новое значение идентификатора.

Возвращаемое значение

При успешном выполнении идентификатор предыдущего элемента диалогового окна; в противном случае — 0.

Замечания

COleControlSite::SetFocus

Задает фокус элемента управления.

virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);

Параметры

lpmsg
Указатель на структуру MSG. Эта структура содержит сообщение Windows, активируя SetFocus запрос элемента управления, содержащегося на текущем сайте элемента управления.

Возвращаемое значение

Указатель на окно, которое ранее было фокусом.

COleControlSite::SetProperty

Задает свойство элемента управления, указанное dwDispID.

virtual void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Параметры

dwDispID
Определяет идентификатор диспетчера свойства или метода, найденного в интерфейсе элемента управления IDispatch .

vtProp
Указывает тип заданного свойства. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

...
Один параметр типа, указанного vtProp.

Замечания

При SetProperty возникновении ошибки возникает исключение.

Тип исключения определяется возвращаемым значением попытки задать свойство или метод. Если возвращаемое значение равно DISP_E_EXCEPTION, COleDispatchExcpetion создается объект; в противном случае — COleExceptionзначение .

COleControlSite::SetPropertyV

Задает свойство элемента управления, указанное dwDispID.

virtual void SetPropertyV(
    DISPID dwDispID,
    VARTYPE vtProp,
    va_list argList);

Параметры

dwDispID
Определяет идентификатор диспетчера свойства или метода, найденного в интерфейсе элемента управления IDispatch .

vtProp
Указывает тип заданного свойства. Возможные значения см. в подразделе "Примечания" раздела COleDispatchDriver::InvokeHelper.

argList
Указатель на список аргументов.

Замечания

Дополнительные параметры вызываемого метода или свойства можно передать с помощью параметра arg_list . При SetProperty возникновении ошибки возникает исключение.

Тип исключения определяется возвращаемым значением попытки задать свойство или метод. Если возвращаемое значение равно DISP_E_EXCEPTION, COleDispatchExcpetion создается объект; в противном случае — COleExceptionзначение .

COleControlSite::SetWindowPos

Задает размер, положение и порядок Z сайта элемента управления.

virtual BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Параметры

pWndInsertAfter
Указатель на окно.

x
Новая позиция левой стороны окна.

г
Новая позиция верхней части окна.

cx
Новая ширина окна

cy
Новая высота окна.

nFlags
Задает размер окна и флаги размещения. Возможные значения см. в разделе "Примечания" для SetWindowPos в пакете SDK для Windows.

Возвращаемое значение

Ненулевое значение, если выполнено успешно, в противном случае — ноль.

COleControlSite::SetWindowText

Задает текст для сайта элемента управления.

virtual void SetWindowText(LPCTSTR lpszString);

Параметры

lpszString
Указатель на строку, завершаемую значением NULL, которая будет использоваться в качестве нового заголовка или текста элемента управления.

Замечания

Эта функция сначала пытается задать свойство caption stock. Если свойство caption stock не поддерживается, вместо него устанавливается свойство Text.

COleControlSite::ShowWindow

Задает состояние отображения окна.

virtual BOOL ShowWindow(int nCmdShow);

Параметры

nCmdShow
Указывает способ отображения сайта элемента управления. Это должно быть одно из следующих значений:

  • SW_HIDE скрывает это окно и передает активацию другому окну.

  • SW_MINIMIZE свернуть окно и активирует окно верхнего уровня в списке системы.

  • SW_RESTORE активирует и отображает окно. Если окно свернуто или развернуто, Windows восстанавливает его до исходного размера и положения.

  • SW_SHOW активирует окно и отображает его в текущем размере и положении.

  • SW_SHOWMAXIMIZED активирует окно и отображает его в виде развернутого окна.

  • SW_SHOWMINIMIZED активирует окно и отображает его как значок.

  • SW_SHOWMINNOACTIVE отображает окно в виде значка. Окно, которое сейчас активно, остается активным.

  • SW_SHOWNA Отображает окно в текущем состоянии. Окно, которое сейчас активно, остается активным.

  • SW_SHOWNOACTIVATE Отображает окно в последнем размере и положении. Окно, которое сейчас активно, остается активным.

  • SW_SHOWNORMAL активирует и отображает окно. Если окно свернуто или развернуто, Windows восстанавливает его до исходного размера и положения.

Возвращаемое значение

Ненулевое значение, если окно было ранее видимым; Значение 0, если окно было ранее скрыто.

См. также

Класс CCmdTarget
Диаграмма иерархии
Класс COleControlContainer