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


Структура OLEUIPASTESPECIALA (oledlg.h)

Содержит сведения о том, что библиотека пользовательского интерфейса OLE использует для инициализации диалогового окна вставки специальных, а также пространство библиотеки для возврата сведений при закрытии диалогового окна.

Синтаксис

typedef struct tagOLEUIPASTESPECIALA {
  DWORD              cbStruct;
  DWORD              dwFlags;
  HWND               hWndOwner;
  LPCSTR             lpszCaption;
  LPFNOLEUIHOOK      lpfnHook;
  LPARAM             lCustData;
  HINSTANCE          hInstance;
  LPCSTR             lpszTemplate;
  HRSRC              hResource;
  LPDATAOBJECT       lpSrcDataObj;
  LPOLEUIPASTEENTRYA arrPasteEntries;
  int                cPasteEntries;
  UINT               *arrLinkTypes;
  int                cLinkTypes;
  UINT               cClsidExclude;
  LPCLSID            lpClsidExclude;
  int                nSelectedIndex;
  BOOL               fLink;
  HGLOBAL            hMetaPict;
  SIZEL              sizel;
} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;

Члены

cbStruct

Размер структуры в байтах. Этот элемент должен быть заполнен для входных данных.

dwFlags

При входных данных dwFlags задает флаги инициализации и создания. При выходе он указывает выбор пользователя. Это может быть сочетание следующих флагов.

Ценность Значение
PSF_SHOWHELP
В диалоговом окне отобразится кнопка справки.
PSF_SELECTPASTE
Переключатель вставки будет выбрана при запуске диалогового окна. Это значение по умолчанию, если PSF_SELECTPASTE или PSF_SELECTPASTELINK не указаны. Кроме того, он указывает состояние кнопки при завершении диалога. Флаг IN/OUT.
PSF_SELECTPASTELINK
Переключатель PasteLink будет выбран при запуске диалогового окна. Кроме того, указывает состояние кнопки при завершении диалога. Флаг IN/OUT.
PSF_CHECKDISPLAYASICON
Установлен ли переключатель значок отображения как значка при завершении диалогового окна. Флаг OUT.
PSF_DISABLEDISPLAYASICON
Флажок значок отображения как значка будет отключен при инициализации.
HIDECHANGEICON
Используется для отключения кнопки "Значок изменения" в диалоговом окне, доступной пользователям при вставке объекта OLE по умолчанию. В противном случае см. STAYONCLIPBOARDCHANGE.
STAYONCLIPBOARDCHANGE
Используется для того, чтобы сообщить диалоговому окну оставаться в курсе, если буфер обмена изменяется во время выполнения диалогового окна. Если пользователь переключается на другое приложение и копирует или вырезает что-то, диалоговое окно по умолчанию выполнит операцию отмены, которая будет удалять диалоговое окно, так как параметры, которые находятся в середине представления пользователю, больше не up-to-date в отношении того, что действительно находится в буфере обмена.
NOREFRESHDATAOBJECT
Используется в сочетании с STAYONCLIPBOARDCHANGE (это не делает ничего другого). Если буфер обмена изменяется во время выполнения диалогового окна и указана STAYONCLIPBOARDCHANGE, то NOREFRESHDATAOBJECT указывает, что диалоговое окно не должно обновлять содержимое диалогового окна, чтобы отразить новое содержимое буфера обмена. Это полезно, если приложение использует диалоговое окно вставки в IDataObject рядом с буфером обмена, например в рамках операции перетаскивания правой кнопкой мыши.

hWndOwner

Окно, владеющее диалоговым окном. Этот элемент не должен быть NULL.

lpszCaption

Указатель на строку, используемую в качестве заголовка диалогового окна. Если NULL, библиотека использует специальныевставки.

lpfnHook

Указатель на функцию перехватчика, которая обрабатывает сообщения, предназначенные для диалогового окна. Функция перехватчика должна возвращать ноль, чтобы передать сообщение, которое оно не обрабатывалось обратно в процедуру диалогового окна в библиотеке. Функция перехватчика должна возвращать ненулевое значение, чтобы предотвратить обработку сообщения, которое уже обработано процедурой диалогового окна библиотеки.

lCustData

Определяемые приложением данные, которые библиотека передает функции перехватчика, на которую указывает элемент lpfnHook. Библиотека передает указатель на структуру OLEUIPASTESPECIAL в параметре lParam сообщения WM_INITDIALOG; этот указатель можно использовать для получения элемента lCustData.

hInstance

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

lpszTemplate

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

hResource

Настраиваемый дескриптор шаблона.

lpSrcDataObj

Указатель на интерфейс объекта данных IDataObject (из буфера обмена). Этот элемент заполняется входными данными. Если lpSrcDataObjNULL при вызове OleUIPasteSpecial, OleUIPasteSpecial попытается получить указатель на IDataObject из буфера обмена. Если OleUIPasteSpecial успешно, это ответственность вызывающего объекта для освобождения IDataObject, возвращенной в lpSrcDataObj.

arrPasteEntries

Массив OLEUIPASTEENTRY, указывающий допустимые форматы. Этот элемент заполняется входными данными.

cPasteEntries

Количество записей массива OLEUIPASTEENTRY. Этот элемент заполняется входными данными.

arrLinkTypes

Список типов ссылок, допустимых. Типы ссылок называются OLEUIPASTEFLAG в arrPasteEntries. Этот элемент заполняется входными данными.

cLinkTypes

Количество типов ссылок. Этот элемент заполняется входными данными.

cClsidExclude

Число CLSID в lpClsidExclude. Этот элемент заполняется входными данными.

lpClsidExclude

Указатель на массив CLSID, чтобы исключить из списка доступных объектов сервера для операции вставки. Обратите внимание, что это не влияет на ссылки на вставку. Приложение может предотвратить внедрение в себя путем перечисления собственного CLSID в этом списке. Это поле заполняется входными данными.

nSelectedIndex

Индекс arrPasteEntries выбранного пользователем. Этот элемент заполняется выходными данными.

fLink

Выбран ли или вставить ссылку пользователь. Этот элемент заполняется выходными данными.

hMetaPict

Дескриптор метафайла, содержащего значок и заголовок значка, выбранный пользователем. Этот элемент заполняется выходными данными.

sizel

Размер объекта, отображаемого в источнике, если аспект отображения, выбранный пользователем, соответствует аспекту, отображаемого в источнике. Если пользователь выбирает другой аспект, sizel.cx и sizel.cy имеют значение нулю. Размер объекта, отображаемого в источнике, извлекается из объекта ObjectDescriptor, если fLinkfalse и из linkSrcDescriptor, если fLinkTRUE. Этот элемент заполняется выходными данными.

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
заголовка oledlg.h

См. также

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial