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


Класс COlePasteSpecialDialog

Используется для диалогового окна OLE "Вставить специальный объект".

Синтаксис

class COlePasteSpecialDialog : public COleDialog

Участники

Открытые конструкторы

Имя Описание
COlePasteSpecialDialog::COlePasteSpecialDialog Формирует объект COlePasteSpecialDialog.

Открытые методы

Имя Описание
COlePasteSpecialDialog::AddFormat Добавляет настраиваемые форматы в список форматов, которые может вставить приложение.
COlePasteSpecialDialog::AddLinkEntry Добавляет новую запись в список поддерживаемых форматов буфера обмена.
COlePasteSpecialDialog::AddStandardFormats Добавляет CF_BITMAP, CF_DIB, CF_METAFILEPICT и при необходимости CF_LINKSOURCE в список форматов, которые приложение может вставить.
COlePasteSpecialDialog::CreateItem Создает элемент в документе контейнера с помощью указанного формата.
COlePasteSpecialDialog::D oModal Отображает диалоговое окно "Специальная вставка OLE".
COlePasteSpecialDialog::GetDrawAspect Указывает, следует ли нарисовать элемент как значок или нет.
COlePasteSpecialDialog::GetIconicMetafile Возвращает дескриптор метафайла, связанного с знаковой формой этого элемента.
COlePasteSpecialDialog::GetPasteIndex Возвращает индекс доступных параметров вставки, выбранных пользователем.
COlePasteSpecialDialog::GetSelectionType Возвращает выбранный тип выделения.

Открытые члены данных

Имя Описание
COlePasteSpecialDialog::m_ps Структура типа OLEUIPASTESPECIAL, которая управляет функцией диалогового окна.

Замечания

Создайте объект класса COlePasteSpecialDialog при вызове этого диалогового окна. COlePasteSpecialDialog После создания объекта можно использовать функции-члены AddFormat и AddStandardFormats для добавления форматов буфера обмена в диалоговое окно. Можно также использовать структуру m_ps для инициализации значений или состояний элементов управления в диалоговом окне. Структура m_ps имеет тип OLEUIPASTESPECIAL.

Дополнительные сведения см . в структуре OLEUIPASTESPECIAL в пакете SDK для Windows.

Дополнительные сведения о диалоговых окнах, относящихся к OLE, см. в статье "Диалоговые окна" в OLE.

Иерархия наследования

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

COleDialog

COlePasteSpecialDialog

Требования

Заголовок: afxodlgs.h

COlePasteSpecialDialog::AddFormat

Вызовите эту функцию, чтобы добавить новые форматы в список форматов, которые приложение может поддерживать в специальной операции вставки.

void AddFormat(
    const FORMATETC& formatEtc,
    LPTSTR lpszFormat,
    LPTSTR lpszResult,
    DWORD flags);

void AddFormat(
    UINT cf,
    DWORD tymed,
    UINT nFormatID,
    BOOL bEnableIcon,
    BOOL bLink);

Параметры

fmt
Ссылка на тип данных для добавления.

lpszFormat
Строка, описывающая формат пользователя.

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

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

cf
Добавляемый формат буфера обмена.

tymed
Типы носителей, доступные в этом формате. Это побитовое сочетание одного или нескольких значений в перечисленном типе TYMED.

nFormatID
Идентификатор строки, определяющей этот формат. Формат этой строки состоит из двух отдельных строк, разделенных символом \n. Первая строка совпадает с тем же, что будет передано в параметре lpstrFormat , а второй совпадает с параметром lpstrResult .

bEnableIcon
Флаг, определяющий, включен ли флажок "Значок отображения как" при выборе этого формата в списке.

мигать
Флаг, определяющий, включена ли переключатель "Ссылка вставки", если этот формат выбран в списке.

Замечания

Эту функцию можно вызвать для добавления стандартных форматов, таких как CF_TEXT или CF_TIFF или пользовательские форматы, зарегистрированные в системе. Дополнительные сведения о вставки объектов данных в приложение см. в статье "Объекты данных и источники данных: манипуляция".

Дополнительные сведения см. в типе перечисления TYMED и структуре FORMATETC в пакете SDK для Windows.

Дополнительные сведения см. в перечисленном типе OLEUIPASTEFLAG в пакете SDK для Windows.

COlePasteSpecialDialog::AddLinkEntry

Добавляет новую запись в список поддерживаемых форматов буфера обмена.

OLEUIPASTEFLAG AddLinkEntry(UINT cf);

Параметры

cf
Добавляемый формат буфера обмена.

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

Структура OLEUIPASTEFLAG , содержащая сведения для новой записи ссылки.

COlePasteSpecialDialog::AddStandardFormats

Вызовите эту функцию, чтобы добавить следующие форматы буфера обмена в список форматов, которые приложение может поддерживать в специальной операции вставки:

void AddStandardFormats(BOOL bEnableLink = TRUE);

Параметры

bEnableLink
Флаг, определяющий, следует ли добавлять CF_LINKSOURCE в список форматов, которые может вставить приложение.

Замечания

  • CF_BITMAP

  • CF_DIB

  • CF_METAFILEPICT

  • Внедренный объект

  • (необязательно) Источник ссылок"

Эти форматы используются для поддержки внедрения и связывания.

COlePasteSpecialDialog::COlePasteSpecialDialog

Формирует объект COlePasteSpecialDialog.

COlePasteSpecialDialog(
    DWORD dwFlags = PSF_SELECTPASTE,
    COleDataObject* pDataObject = NULL,
    CWnd* pParentWnd = NULL);

Параметры

dwFlags
Флаг создания содержит любое количество следующих флагов, объединенных с помощью побитового оператора OR:

  • PSF_SELECTPASTE Указывает, что переключатель вставки будет установлен изначально при вызове диалогового окна. Нельзя использовать в сочетании с PSF_SELECTPASTELINK. Это значение по умолчанию.

  • PSF_SELECTPASTELINK Указывает, что переключатель "Вставить ссылку" будет установлен изначально при вызове диалогового окна. Нельзя использовать в сочетании с PSF_SELECTPASTE.

  • PSF_CHECKDISPLAYASICON Указывает, что флажок значка отображения как значка будет установлен изначально при вызове диалогового окна.

  • PSF_SHOWHELP Указывает, что кнопка справки будет отображаться при вызове диалогового окна.

pDataObject
Указывает на COleDataObject для вставки. Если это значение равно NULL, он получает COleDataObject из буфера обмена.

pParentWnd
Указывает на родительский или владелец объекта окна (типа CWnd), к которому принадлежит объект диалогового окна. Если значение NULL, родительское окно диалогового окна устанавливается в главное окно приложения.

Замечания

Эта функция создает COlePasteSpecialDialog только объект. Чтобы отобразить диалоговое окно, вызовите функцию DoModal .

Дополнительные сведения см. в перечисленном типе OLEUIPASTEFLAG в пакете SDK для Windows.

COlePasteSpecialDialog::CreateItem

Создает новый элемент, выбранный в диалоговом окне "Вставить специальное".

BOOL CreateItem(COleClientItem* pNewItem);

Параметры

pNewItem
Указывает на COleClientItem экземпляр. Не может быть NULL.

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

Ненулевое значение, если элемент был создан успешно; в противном случае — 0.

Замечания

Эта функция должна вызываться только после того, как DoModal возвращает идентификатор IDOK.

COlePasteSpecialDialog::D oModal

Отображает диалоговое окно "Специальная вставка OLE".

virtual INT_PTR DoModal();

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

Состояние завершения диалогового окна. Одно из следующих значений:

  • Идентификатор IDOK, если диалоговое окно было успешно отображено.

  • IdCANCEL, если пользователь отменил диалоговое окно.

  • IDABORT, если произошла ошибка. Если идентификатор IDABORT возвращается, вызовите COleDialog::GetLastError функцию-член, чтобы получить дополнительные сведения о типе ошибки, которая произошла. Список возможных ошибок см . в функции OleUIPasteSpecial в пакете SDK для Windows.

Замечания

Если вы хотите инициализировать различные элементы управления диалоговым окном, задав элементы структуры m_ps , необходимо сделать это перед вызовом DoModal, но после создания объекта диалогового окна.

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

COlePasteSpecialDialog::GetDrawAspect

Определяет, решил ли пользователь отобразить выбранный элемент в виде значка.

DVASPECT GetDrawAspect() const;

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

Метод, необходимый для отрисовки объекта.

  • DVASPECT_CONTENT Возвращается, если флажок значка отображения как значка не был установлен при закрытии диалогового окна.

  • DVASPECT_ICON Возвращается, если флажок значка отображения как значка был установлен при закрытии диалогового окна.

Замечания

Вызовите эту функцию только после того, как DoModal возвращает идентификатор IDOK.

Дополнительные сведения о аспекте рисования см . в структуре FORMATETC в пакете SDK для Windows.

COlePasteSpecialDialog::GetIconicMetafile

Возвращает метафайл, связанный с элементом, выбранным пользователем.

HGLOBAL GetIconicMetafile() const;

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

Дескриптор метафайла, содержащего знаковый аспект выбранного элемента, если флажок "Значок отображения как значок" был выбран при закрытии диалогового окна, нажав кнопку "ОК"; в противном случае значение NULL.

COlePasteSpecialDialog::GetPasteIndex

Возвращает значение индекса, связанное с выбранной записью пользователя.

int GetPasteIndex() const;

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

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

Замечания

Дополнительные сведения см . в структуре OLEUIPASTEENTRY в пакете SDK для Windows.

COlePasteSpecialDialog::GetSelectionType

Определяет тип выбранного пользователя.

UINT GetSelectionType() const;

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

Возвращает тип выбранного элемента.

Замечания

Значения возвращаемого COlePasteSpecialDialog типа задаются типом Selection перечисления, объявленным в классе.

enum Selection {
    pasteLink,
    pasteNormal,
    pasteOther,
    pasteStatic
    };

Краткое описание следующих значений:

  • COlePasteSpecialDialog::pasteLink Переключатель "Вставить ссылку" был установлен, и выбранный формат был стандартным форматом OLE.

  • COlePasteSpecialDialog::pasteNormal Установлен переключатель "Вставка", и выбранный формат был стандартным форматом OLE.

  • COlePasteSpecialDialog::pasteOther Выбранный формат не является стандартным форматом OLE.

  • COlePasteSpecialDialog::pasteStatic Выбранный формат — метафайл.

COlePasteSpecialDialog::m_ps

Структура типа OLEUIPASTESPECIAL, используемая для управления поведением диалогового окна "Вставить специальное".

OLEUIPASTESPECIAL m_ps;

Замечания

Элементы этой структуры можно изменять напрямую или через функции-члены.

Дополнительные сведения см . в структуре OLEUIPASTESPECIAL в пакете SDK для Windows.

См. также

Пример OCLIENT MFC
Класс COleDialog
Диаграмма иерархии
Класс COleDialog