Образец CONTAINER: контейнерное приложение визуального редактирования
Обновлен: Ноябрь 2007
Образец CONTAINER служит простым примером контейнерного приложения визуального редактирования.
В образце CONTAINER показаны следующие возможности.
Стартовый код контейнера, создаваемый мастером приложений.
Классы приложения CContainerItem и CContainerView, а также классы MFC COleClientItem и COleDocument.
Выбор внедренных объектов и проверка нажатия.
Активация внедренных объектов.
Создание прямоугольников отслеживания с помощью класса CRectTracker.
Примеры более сложных функций контейнера визуального редактирования см. в образцах приложений DRAWCLI и OCLIENT.
Примечание о безопасности. |
---|
Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению. |
Чтобы получить образцы и инструкции по их установке, выполните следующие действия.
В меню Справка среды Visual Studio выберите пункт Примеры.
Дополнительные сведения см. в разделе Поиск файлов примеров.
Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.
Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.
Построение и запуск образца
Построение и запуск образца CONTAINER
Откройте решение container.sln.
В меню Построение выберите команду Построить.
В меню Отладка выберите пункт Запуск без отладки.
Ключевые слова
В образце CONTAINER показаны следующие ключевые слова:
AfxMessageBox; AfxOleInit; AfxThrowMemoryException; CArchive::IsStoring; CCmdTarget::BeginWaitCursor; CCmdTarget::EndWaitCursor; CDC::HIMETRICtoDP; CDialog::DoModal; CDocTemplate::SetContainerInfo; CDocument::OnNewDocument; CFrameWnd::Create; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CFrameWnd::LoadFrame; CObject::AssertValid; CObject::Dump; CObject::Serialize; COleClientItem::Close; COleClientItem::CreateFromClipboard; COleClientItem::Deactivate; COleClientItem::Delete; COleClientItem::DoVerb; COleClientItem::Draw; COleClientItem::GetActiveView; COleClientItem::GetDocument; COleClientItem::GetInPlaceWindow; COleClientItem::GetItemState; COleClientItem::IsInPlaceActive; COleClientItem::OnChange; COleClientItem::OnChangeItemPosition; COleClientItem::OnDeactivateUI; COleClientItem::OnGetItemPosition; COleClientItem::SetItemRects; COleClientItem::UpdateLink; COleDocument::EnableCompoundFile; COleDocument::GetNextItem; COleDocument::GetStartPosition; COleInsertDialog::CreateItem; COleInsertDialog::DoModal; COleInsertDialog::GetSelectionType; CRect::PtInRect; CRect::SetRect; CRect::Size; CRectTracker::Draw; CRectTracker::GetTrueRect; CRectTracker::SetCursor; CRectTracker::Track; CView::DoPreparePrinting; CView::GetDocument; CView::IsSelected; CView::OnBeginPrinting; CView::OnDraw; CView::OnEndPrinting; CView::OnInitialUpdate; CView::OnPreparePrinting; CView::OnUpdate; CWinApp::AddDocTemplate; CWinApp::EnableShellOpen; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::RegisterShellFileTypes; CWnd::DoDataExchange; CWnd::Invalidate; CWnd::InvalidateRect; CWnd::OnCreate; CWnd::OnLButtonDblClk; CWnd::OnLButtonDown; CWnd::OnSetCursor; CWnd::OnSetFocus; CWnd::OnSize; CWnd::PreCreateWindow; CWnd::SetFocus; CWnd::ShowWindow; CWnd::UpdateWindow; DragAcceptFiles; GetKeyState
Примечание. |
---|
Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи. |