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


Функция OleUIPasteSpecialW (oledlg.h)

Вызывает стандартное диалоговое окно Специальная вставка , позволяющее пользователю выбрать формат вставленного или связанного объекта буфера обмена.

Синтаксис

UINT OleUIPasteSpecialW(
  [in] LPOLEUIPASTESPECIALW unnamedParam1
);

Параметры

[in] unnamedParam1

Указатель на структуру OLEUIPASTESPECIAL .

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

Стандартные определения успешности и ошибок

Код возврата Описание
OLEUI_FALSE
Неизвестный сбой (неиспользуемый).
OLEUI_OK
Пользователь нажал кнопку ОК.
OLEUI_SUCCESS
Ошибка отсутствует, как и OLEUI_OK.
OLEUI_CANCEL
Пользователь нажал кнопку Отмена.
 

Стандартные ошибки проверки полей

Код возврата Описание
OLEUI_ERR_STANDARDMIN
Ошибки, общие для всех диалоговых окон, находятся в диапазоне OLEUI_ERR_STANDARDMIN для OLEUI_ERR_STANDARDMAX. Это значение позволяет приложению проверять наличие стандартных сообщений, чтобы отображать сообщения об ошибках для пользователя.
OLEUI_ERR_STRUCTURENULL
Указатель на структуру OLEUIXXX, переданную в функцию, был NULL.
OLEUI_ERR_STRUCTUREINVALID
Недостаточно разрешений для доступа на чтение или запись к структуре OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
Неверное значение cbstruct .
OLEUI_ERR_HWNDOWNERINVALID
Недопустимое значение hWndOwner .
OLEUI_ERR_LPSZCAPTIONINVALID
Недопустимое значение lpszCaption .
OLEUI_ERR_LPFNHOOKINVALID
Недопустимое значение lpfnHook .
OLEUI_ERR_HINSTANCEINVALID
Недопустимое значение hInstance .
OLEUI_ERR_LPSZTEMPLATEINVALID
Недопустимое значение lpszTemplate .
OLEUI_ERR_HRESOURCEINVALID
Недопустимое значение hResource .
 

Ошибки инициализации

Код возврата Описание
OLEUI_ERR_FINDTEMPLATEFAILURE
Не удается найти шаблон диалогового окна.
OLEUI_ERR_LOADTEMPLATEFAILURE
Не удалось загрузить шаблон диалогового окна.
OLEUI_ERR_DIALOGFAILURE
Сбой инициализации диалогового окна.
OLEUI_ERR_LOCALMEMALLOC
Сбой вызова LocalAlloc или стандартного распределителя IMalloc .
OLEUI_ERR_GLOBALMEMALLOC
Сбой вызова GlobalAlloc или стандартного распределителя IMalloc .
OLEUI_ERR_LOADSTRING
Не удается вызвать LoadString для получения локализованных ресурсов из библиотеки.
OLEUI_ERR_OLEMEMALLOC
Сбой вызова стандартного распределителя IMalloc .
 

Ошибки, связанные с функциями

Код возврата Описание
OLEUI_ERR_STANDARDMAX
Ошибки, общие для всех диалоговых окон, находятся в диапазоне OLEUI_ERR_STANDARDMIN для OLEUI_ERR_STANDARDMAX. Это значение позволяет приложению проверять наличие стандартных сообщений, чтобы отображать сообщения об ошибках для пользователя.
OLEUI_IOERR_SRCDATAOBJECTINVALID
Недопустимый член lpSrcDataObjectобъекта OLEUIPASTESPECIAL .
OLEUI_IOERR_ARRPASTEENTRIESINVALID
Недопустимый член arrPasteEntriesобъекта OLEUIPASTESPECIAL .
OLEUI_IOERR_ARRLINKTYPESINVALID
Недопустимый элемент arrLinkTypesв OLEUIPASTESPECIAL .
OLEUI_PSERR_CLIPBOARDCHANGED
Содержимое буфера обмена изменилось во время отображения диалогового окна.
OLEUI_PSERR_GETCLIPBOAARDFAILED

Неправильный член lpSrcDataObj .

Комментарии

В структуре диалогового окна Специальная вставка предполагается, что если вы хотите разрешить пользователю связываться с объектом, вы также можете разрешить пользователю внедрить этот объект. По этой причине, если задан какой-либо из флагов OLEUIPASTE_LINKTYPE, связанных с перечислением OLEUIPASTEFLAG , необходимо также задать флаг OLEUIPASTE_PASTE, чтобы форматы данных отображались в диалоговом окне Специальная вставка .

Текст, отображаемый в поле Источник стандартного диалогового окна Специальная вставка , реализованного в Oledlg32.dll, является строкой, завершаемой нулевым значением, смещение которой в байтах указано в элементе dwSrcofCopy структуры OBJECTDESCRIPTOR для вставляемого объекта. Если структура OBJECTDESCRIPTOR недоступна для этого объекта, в диалоговом окне отображается любой текст, связанный с CF_LINKSOURCEDESCRIPTOR. Если ни указанная структура недоступна, диалоговое окно ищет CF_FILENAME. Если CF_FILENAME не найден, в диалоговом окне отображается строка "Неизвестный источник".

Чтобы освободить 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);
        }
}  // FreeHmetafilepict 

Примечание

Заголовок oledlg.h определяет OLEUIPASTESPECIAL в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header oledlg.h
Библиотека OleDlg.lib
DLL OleDlg.dll

См. также раздел

OLEUIPASTEFLAG