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


Класс COleInsertDialog

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

Синтаксис

class COleInsertDialog : public COleDialog

Участники

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

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

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

Имя Описание
COleInsertDialog::CreateItem Создает элемент, выбранный в диалоговом окне.
COleInsertDialog::D oModal Отображает диалоговое окно "Объект вставки OLE".
COleInsertDialog::GetClassID Возвращает CLSID, связанный с выбранным элементом.
COleInsertDialog::GetDrawAspect Указывает, следует ли нарисовать элемент в виде значка.
COleInsertDialog::GetIconicMetafile Возвращает дескриптор метафайла, связанного с знаковой формой этого элемента.
COleInsertDialog::GetPathName Возвращает полный путь к файлу, выбранному в диалоговом окне.
COleInsertDialog::GetSelectionType Возвращает выбранный тип объекта.

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

Имя Описание
COleInsertDialog::m_io Структура типа OLEUIINSERTOBJECT, которая управляет поведением диалогового окна.

Замечания

Создайте объект класса COleInsertDialog при вызове этого диалогового окна. COleInsertDialog После создания объекта можно использовать структуру m_io для инициализации значений или состояний элементов управления в диалоговом окне. Структура m_io имеет тип OLEUIINSERTOBJECT. Дополнительные сведения об использовании этого класса диалоговых окон см. в функции-члене DoModal .

Примечание.

Код контейнера, созданный мастером приложений, использует этот класс.

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

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

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

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

COleDialog

COleInsertDialog

Требования

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

COleInsertDialog::COleInsertDialog

Эта функция создает только COleInsertDialog объект.

COleInsertDialog (
    DWORD dwFlags = IOF_SELECTCREATENEW,
    CWnd* pParentWnd = NULL);

Параметры

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

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

  • IOF_SELECTCREATENEW Указывает, что при вызове диалогового окна будет выбрана переключатель "Создать новый". Это значение по умолчанию и не может использоваться с IOF_SELECTCREATEFROMFILE.

  • IOF_SELECTCREATEFROMFILE Указывает, что переключатель "Создать из файла" будет выбран изначально при вызове диалогового окна. Нельзя использовать с IOF_SELECTCREATENEW.

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

  • IOF_DISABLELINK Указывает, что флажок "Ссылка" будет отключен при вызове диалогового окна.

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

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

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

Замечания

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

COleInsertDialog::CreateItem

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

BOOL CreateItem(COleClientItem* pItem);

Параметры

pItem
Указывает на созданный элемент.

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

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

Замечания

Перед вызовом COleClientItem этой функции необходимо выделить объект.

COleInsertDialog::D oModal

Вызовите эту функцию, чтобы отобразить диалоговое окно "Объект вставки OLE".

virtual INT_PTR
    DoModal();

INT_PTR
    DoModal(DWORD  dwFlags);

Параметры

dwFlags
Одно из следующих значений:

COleInsertDialog::DocObjectsOnly вставляет только DocObjects.

COleInsertDialog::ControlsOnly вставляет только элементы ActiveX.

Ноль не вставляет ни элемент управления DocObject, ни элемент ActiveX. Это значение приводит к тому же реализации, что и первый прототип, указанный выше.

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

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

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

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

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

Замечания

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

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

COleInsertDialog::GetClassID

Вызовите эту функцию, чтобы получить CLSID, связанную с выбранным элементом, только если DoModal возвращает идентификатор IDOK и тип COleInsertDialog::createNewItemвыбора.

REFCLSID GetClassID() const;

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

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

Замечания

Дополнительные сведения см. в разделе CLSID Key in the Windows SDK.

COleInsertDialog::GetDrawAspect

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

DVASPECT GetDrawAspect() const;

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

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

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

  • DVASPECT_ICON возвращается, если установлен флажок "Значок отображения как".

Замечания

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

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

COleInsertDialog::GetIconicMetafile

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

HGLOBAL GetIconicMetafile() const;

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

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

COleInsertDialog::GetPathName

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

CString GetPathName() const;

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

Полный путь к файлу, выбранному в диалоговом окне. Если выбран тип createNewItemвыбора, эта функция возвращает бессмысленное CString значение в режиме выпуска или вызывает утверждение в режиме отладки.

COleInsertDialog::GetSelectionType

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

UINT GetSelectionType() const;

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

Тип выделенного элемента.

Замечания

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

enum Selection {
    createNewItem,
    insertFromFile,
    linkToFile
    };

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

  • COleInsertDialog::createNewItem Выбрана переключатель "Создать".

  • COleInsertDialog::insertFromFile Выбрана переключатель "Создать из файла", а флажок "Ссылка" не установлен.

  • COleInsertDialog::linkToFile Выбрана переключатель "Создать из файла" и установлен флажок "Ссылка".

COleInsertDialog::m_io

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

OLEUIINSERTOBJECT m_io;

Замечания

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

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

См. также

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