Структура OLEUIPASTESPECIALW (oledlg.h)
Содержит сведения, которые библиотека пользовательского интерфейса OLE использует для инициализации диалогового окна Специальная вставка , а также пространство для библиотеки для возврата сведений при закрытии диалогового окна.
Синтаксис
typedef struct tagOLEUIPASTESPECIALW {
DWORD cbStruct;
DWORD dwFlags;
HWND hWndOwner;
LPCWSTR lpszCaption;
LPFNOLEUIHOOK lpfnHook;
LPARAM lCustData;
HINSTANCE hInstance;
LPCWSTR lpszTemplate;
HRSRC hResource;
LPDATAOBJECT lpSrcDataObj;
LPOLEUIPASTEENTRYW arrPasteEntries;
int cPasteEntries;
UINT *arrLinkTypes;
int cLinkTypes;
UINT cClsidExclude;
LPCLSID lpClsidExclude;
int nSelectedIndex;
BOOL fLink;
HGLOBAL hMetaPict;
SIZEL sizel;
} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
Члены
cbStruct
Размер структуры в байтах. Этот элемент должен быть заполнен на входных данных.
dwFlags
На входных данных dwFlags задает флаги инициализации и создания. При выходе он задает варианты выбора пользователя. Это может быть сочетание следующих флагов.
Значение | Значение |
---|---|
|
В диалоговом окне отобразится кнопка "Справка ". |
|
Переключатель Вставить будет выбран при запуске диалогового окна. Это значение по умолчанию, если PSF_SELECTPASTE или PSF_SELECTPASTELINK не указаны. Кроме того, он указывает состояние кнопки при завершении диалога. Флаг IN/OUT. |
|
Переключатель PasteLink будет выбран при запуске диалогового окна. Кроме того, указывает состояние кнопки при завершении диалога. Флаг IN/OUT. |
|
Установлен ли переключатель Отображать как значок при завершении диалогового окна. Флаг OUT. |
|
Поле Проверка значок отображения будет отключено при инициализации. |
|
Используется для отключения кнопки значок изменения в диалоговом окне, которое по умолчанию доступно пользователям при вставке объекта OLE. В противном случае см. раздел STAYONCLIPBOARDCHANGE . |
|
Используется, чтобы указать, что диалоговое окно не работает, если буфер обмена изменяется, пока диалоговое окно не работает. Если пользователь переключится на другое приложение и скопирует или вырезает что-то, диалоговое окно по умолчанию выполнит операцию отмены, которая удалит диалоговое окно, так как параметры, которые он представляет пользователю, больше не являются актуальными в отношении того, что действительно находится в буфере обмена. |
|
Используется в сочетании с 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 |