Функция OleUIInsertObjectA (oledlg.h)
Вызывает стандартное диалоговое окно Вставка объекта , которое позволяет пользователю выбрать источник объекта и имя класса, а также параметр отображения объекта как самого себя или значка.
Синтаксис
UINT OleUIInsertObjectA(
[in] LPOLEUIINSERTOBJECTA 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.
- Запись реестра содержит ключ протокола ole 1.0 в стиле Protocol\\StdFileEditing\\Server.
- Запись реестра содержит раздел Insertable.
- CLSID объекта не включается в список объектов для исключения (член lpClsidExcludeOLEUIINSERTOBJECT).
Чтобы освободить 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 |