Класс 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.
Иерархия наследования
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