Функция OleUIInsertObjectW (oledlg.h)
Вызывает стандартное диалоговое окно Вставка объекта , которое позволяет пользователю выбрать источник объекта и имя класса, а также параметр отображения объекта как самого себя или в виде значка.
Синтаксис
UINT OleUIInsertObjectW(
[in] LPOLEUIINSERTOBJECTW unnamedParam1
);
Параметры
[in] unnamedParam1
Указатель на структуру OLEUIINSERTOBJECT для этого диалогового окна.
Возвращаемое значение
Стандартные определения успешности и ошибок
Код возврата | Описание |
---|---|
|
Неизвестный сбой (неиспользуемый). |
|
Пользователь нажал кнопку ОК. |
|
Ошибка отсутствует, как и OLEUI_OK. |
|
Пользователь нажал кнопку Отмена. |
Стандартные ошибки проверки полей
Код возврата | Описание |
---|---|
|
Ошибки, общие для всех диалоговых окон, находятся в диапазоне OLEUI_ERR_STANDARDMIN для OLEUI_ERR_STANDARDMAX. Это значение позволяет приложению проверять наличие стандартных сообщений, чтобы отображать сообщения об ошибках для пользователя. |
|
Указатель на структуру OLEUIXXX, переданную в функцию, был NULL. |
|
Недостаточно разрешений для доступа на чтение или запись к структуре OLEUIXXX. |
|
Неверное значение cbstruct . |
|
Недопустимое значение hWndOwner . |
|
Недопустимое значение lpszCaption . |
|
Недопустимое значение lpfnHook . |
|
Недопустимое значение hInstance . |
|
Недопустимое значение lpszTemplate . |
|
Недопустимое значение hResource . |
Ошибки инициализации
Код возврата | Описание |
---|---|
|
Не удается найти шаблон диалогового окна. |
|
Не удалось загрузить шаблон диалогового окна. |
|
Сбой инициализации диалогового окна. |
|
Сбой вызова LocalAlloc или стандартного распределителя IMalloc . |
|
Сбой вызова GlobalAlloc или стандартного распределителя IMalloc . |
|
Не удалось вызвать LoadString для локализованных ресурсов из библиотеки. |
|
Сбой вызова стандартного распределителя IMalloc . |
Ошибки, связанные с функциями
Код возврата | Описание |
---|---|
|
Ошибки, общие для всех диалоговых окон, находятся в диапазоне OLEUI_ERR_STANDARDMIN для OLEUI_ERR_STANDARDMAX. Это значение позволяет приложению проверять наличие стандартных сообщений, чтобы отображать сообщения об ошибках для пользователя. |
|
Недопустимое значение lpszFile или у пользователя недостаточно разрешений на запись. Этот элемент lpszFile указывает на имя файла, связанного или вставленного. |
|
Недопустимое значение ppvOjb . Этот элемент указывает на расположение, в котором возвращается указатель для объекта . |
|
Недопустимое значение lpIOleClientSite . Этот член указывает на клиентский сайт для объекта . |
|
Недопустимое значение lpIStorage . Этот элемент указывает на хранилище, используемое для объекта . |
|
Член sclpIO содержит дополнительные сведения об ошибке. |
|
Недопустимое значение lpClsidExclude . Этот элемент содержит список исключаемых идентификаторов CLSID. |
|
Недопустимое значение cchFile или lpszFile . Элемент cchFile указывает размер буфера lpszFile . Элемент lpszFile указывает на имя файла, связанного или вставленного. |
Комментарии
OleUIInsertObject позволяет пользователю выбрать тип объекта для вставки из списка, содержащего объектные приложения, зарегистрированные в системе пользователя. Чтобы заполнить этот список, OleUIInsertObject проходит по реестру, добавляя каждый сервер объектов, который он находит, что соответствует следующим критериям:
- Запись реестра не содержит раздел NotInsertable.
- Запись реестра содержит ключ Протокола\\StdFileEditing\\Server в стиле OLE 1.0.
- Запись реестра содержит раздел Insertable.
- ИДЕНТИФИКАТОР CLSID объекта не включен в список исключаемых объектов (элемент lpClsidExcludeобъекта OLEUIINSERTOBJECT).
Чтобы освободить HMETAFILEPICT, возвращенный из диалогового окна Вставка объекта или Специальная вставка , удалите вложенный метафайл дескриптора следующим образом:
void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
if (hmfp != NULL)
{
LPMETAFILEPICT pmfp = GlobalLock(hmfp);
DeleteMetaFile(pmfp->hMF);
GlobalUnlock(hmfp);
GlobalFree(hmfp);
}
else
{
// Handle null pointers here.
exit(0);
}
}
Примечание
Заголовок oledlg.h определяет OLEUIINSERTOBJECT как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oledlg.h |
Библиотека | OleDlg.lib |
DLL | OleDlg.dll |