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


Структура 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
Используется, чтобы указать, что диалоговое окно не работает, если буфер обмена изменяется, пока диалоговое окно не работает. Если пользователь переключится на другое приложение и скопирует или вырезает что-то, диалоговое окно по умолчанию выполнит операцию отмены, которая удалит диалоговое окно, так как параметры, которые он представляет пользователю, больше не являются актуальными в отношении того, что действительно находится в буфере обмена.
NOREFRESHDATAOBJECT
Используется в сочетании с STAYONCLIPBOARDCHANGE (он не выполняет никаких действий иначе). Если буфер обмена изменяется во время работы диалогового окна и указан параметр STAYONCLIPBOARDCHANGE , то параметр NOREFRESHDATAOBJECT указывает, что диалоговое окно НЕ должно обновлять содержимое диалогового окна для отражения нового содержимого буфера обмена. Это полезно, если приложение использует специальное диалоговое окно вставки в IDataObject , а не в буфере обмена, например, в рамках операции перетаскивания правой кнопкой мыши.

hWndOwner

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

lpszCaption

Указатель на строку, используемую в качестве заголовка диалогового окна. Если значение РАВНО NULL, то библиотека использует команду "Специальная вставка".

lpfnHook

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

lCustData

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

hInstance

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

lpszTemplate

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

hResource

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

lpSrcDataObj

Указатель на интерфейс IDataObject объекта данных для вставки (из буфера обмена). Этот элемент заполняется на входных данных. Если при вызове OleUIPasteSpeciallpSrcDataObj имеет значение NULL, 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, если fLink имеет значение FALSE , и из LinkSrcDescriptor, если fLink имеет значение TRUE. Этот элемент заполняется в выходных данных.

Комментарии

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть oledlg.h

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

OLEUIPASTEENTRY

OLEUIPASTEFLAG

OleUIPasteSpecial