Класс 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
, INotifyDBEvents
IRowSetNotify. Кроме того, реализован интерфейс IDispatch (предоставляющий поддержку внешних свойств и приемников событий).
Чтобы создать сайт элемента управления ActiveX с помощьюCOleControlSite
, наследуйте класс.COleControlSite
CWnd
В производном классе для контейнера (например, диалоговое окно) переопределите функциюCWnd::CreateControlSite
.
Иерархия наследования
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
вызывает функцию SetWindowPos
Win32 и перерисовывает окно путем объединения 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
вызывает функцию SetWindowPos
Win32 и перерисовывает окно путем объединения 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