Share via


OCLIENT-Beispiel: Zeigt eine visuelle Bearbeitung Containeranwendung

Das OCLIENT-Beispiel ist ein Beispiel einer Containeranwendung visuelle Bearbeitung. Es ist im Wesentlichen eine erweiterte Version des Beispiels CONTAINER, auch wenn es nicht unbedingt eine Ableitung von CONTAINER ist.

SicherheitshinweisSicherheitshinweis

Dieser Beispielcode soll ein Konzept veranschaulichen, und es wird nur den Code, der für dieses Konzept relevant sind. Möglicherweise erfüllt dieser nicht die Sicherheitsanforderungen für eine bestimmte Umgebung, und er sollte nicht genau wie dargestellt verwendet werden. Wir empfehlen, Sicherheits- und Fehlerbehandlungscode hinzuzufügen, um Ihre Projekte sicherer und stabiler zu machen. Microsoft stellt diesen Beispielcode "Wie besehen"keine Garantien.

So erhalten Sie Beispiele und Anweisungen für deren Installation:

Um Beispiele von Visual Studio zuzugreifen

  • im Menü Hilfe Menü klicken Beispiele.

    Standardmäßig sind die Beispiele in installiert. Laufwerk: \Programme\Microsoft visual Studio 10.0\Samples\.

  • Die neueste Version dieses Beispiels und eine Liste der anderen Beispiele finden Sie unter Visual Studio Samples auf der MSDN-Website.

Erstellen und Ausführen des Beispiels

So erstellen Sie und führen das OCLIENT-Beispiel

  1. Öffnen Sie die Projektmappe OCLIENT.sln.

  2. erstellen Sie Menü, klicken Sie auf erstellen.

  3. Öffnen Sie und führen Sie die OCLIENT-Anwendung.

OCLIENT veranschaulicht diese Features:

  • Drag & drop in und aus einer anderen Anwendung.

  • Duplizieren (Duplizierung) von Objekten mit Steuerelement-ziehen innerhalb desselben Anwendungsfensters.

  • Automatischer Bildlauf eines Fensters während eines Drag & Drop Vorgangs.

  • Einfügen eines Objekts das systemeigene Format zu bearbeiten.

  • Bearbeiten Sie verknüpfen.

OCLIENT wie CONTAINER, ist ein einfaches Objekt Zeichnung Programm. Der einzige Typ des Objekts gezeichnet ist ein verknüpftes oder eingebettetes OLE-Element.

Ein neues Objekt zu der OCLIENT-Zeichnung hinzufügen

  1. Klicken Sie auf Neues Objekt einfügen Menü bearbeiten.

    Das Dialogfeld Neues Objekt einfügen mit angezeigt wird.

  2. Wählen Sie den OLE Element, das Sie hinzufügen möchten.

    Ein neues Objekt wird in der OCLIENT-Fenster angezeigt und OCLIENT des Menüs und Symbolleisten werden mit Popup-Menüs und Symbolleisten aktualisiert Schaltflächen, die von der Serveranwendung bereitgestellten.

-oder-

  1. Während der Ausführung eines Automatisierungsservers, kopieren Sie ein OLE-Element in die Zwischenablage.

  2. On the Edit menu in OCLIENT, click Paste to embed the OLE item, or click PasteLink to link the OLE item.

Das neu hinzugefügte OLE-Element wird immer in der oberen linken Ecke der OCLIENT-Zeichnung platziert. Das neue OLE-Element, möglicherweise ganz oder teilweise ein älteres Objekt behandelt. Sie können ein OLE-Element zu einem Zeitpunkt mit der Maus auswählen. Ein ausgewähltes verknüpftes Element ist durch ein gepunktetes Rechteck gekennzeichnet, und ein eingebettetes Element wird mit einem einfarbigen Rechteck angezeigt. Sie können ein OLE-Element durch Ziehen; verschieben.Sie können die ein ausgewählten OLE-Elements Größe ändern, indem Sie die Ziehpunkte zur Größenänderung.

Um ein OLE-Element löschen, markieren Sie es mit einem Mausklick bearbeiten drücken Sie ENTF oder verwenden den Befehl der löschen Menü.

Um den Inhalt eines OLE-Elements bearbeiten, doppelklicken Sie darauf, oder wählen es mit der Maus und klicken Sie dann auf Bearbeiten < Typ >Objekt im Menü für das Bearbeiten. Klicken Sie auf irgendwo außerhalb des Rechtecks des Elements in der OCLIENT-Fenster, um die Bearbeitung eines Elements in-Place-Bearbeitung zu beenden. Verwenden Sie des Servers -Befehl Datei Update, um die Bearbeitung eines Elements, das in der Serveranwendung vollständig geöffnet wurde abzuschließen.

Schlüsselwörter

Dieses Beispiel demonstriert die Verwendung der folgenden Schlüsselwörter:

AfxGetMainWnd; AfxMessageBox; AfxOleInit; AfxThrowArchiveException; AfxThrowFileException; AfxThrowMemoryException; CArchive::Close;CArchive::IsStoring; CCmdTarget::BeginWaitCursor; CCmdTarget::EndWaitCursor; CCmdUI::Enable; CCmdUI::SetCheck; CControlBar::EnableDocking; CDC::DPtoLP; CDC::DrawFocusRect; CDC::GetDeviceCaps; CDC::HIMETRICtoDP; CDC::LPtoDP; CDC::RealizePalette; CDC::SelectPalette; CDocTemplate::SetContainerInfo; CDocument::SetModifiedFlag; CDocument::UpdateAllViews; CFrameWnd::DockControlBar; CFrameWnd::EnableDocking; CFrameWnd::LoadFrame; CFrameWnd::OnCreateClient; CGdiObject::UnrealizeObject; CMDIChildWnd::Create; CMenu::GetSubMenu; CMenu::LoadMenu; CMenu::TrackPopupMenu; CObject::AssertValid; CObject::Dump; CObject::IsKindOf; CObject::Serialize; COleClientItem::Close; COleClientItem::CreateCloneFrom; COleClientItem::Deactivate; COleClientItem::Delete; COleClientItem::DoDragDrop; COleClientItem::DoVerb; COleClientItem::Draw; COleClientItem::GetActiveView; COleClientItem::GetClipboardData; COleClientItem::GetDocument; COleClientItem::GetDrawAspect; COleClientItem::GetInPlaceWindow; COleClientItem::GetItemState; COleClientItem::GetType; COleClientItem::IsInPlaceActive; COleClientItem::OnActivate; COleClientItem::OnChange; COleClientItem::OnChangeItemPosition; COleClientItem::OnDeactivateUI; COleClientItem::OnGetClipboardData; COleClientItem::OnGetItemPosition; COleClientItem::SetDrawAspect; COleClientItem::SetItemRects; COleClientItem::UpdateLink; COleDataObject::Attach; COleDataObject::AttachClipboard; COleDataObject::IsDataAvailable; COleDataSource::CacheGlobalData; COleDocument::EnableCompoundFile; COleDocument::GetNextItem; COleDocument::GetStartPosition; COleDocument::HasBlankItems; COleDocument::OnShowViews; COleInsertDialog::CreateItem; COleInsertDialog::DoModal; COleInsertDialog::GetSelectionType; COlePasteSpecialDialog::AddFormat; COlePasteSpecialDialog::AddStandardFormats; COlePasteSpecialDialog::CreateItem; COlePasteSpecialDialog::DoModal; COlePasteSpecialDialog::GetSelectionType; COleTemplateServer::ConnectTemplate; COleTemplateServer::UpdateRegistry; COleUpdateDialog::DoModal; CPalette::CreateHalftonePalette; CRect::InflateRect; CRect::IntersectRect; CRect::IsRectEmpty; CRect::OffsetRect; CRect::Size; CRect::TopLeft; CRectTracker::Draw; CRectTracker::HitTest; CRectTracker::SetCursor; CRectTracker::Track; CScrollView::GetDeviceScrollPosition; CScrollView::SetScrollSizes; CStatusBar::Create; CStatusBar::SetIndicators; CToolBar::Create; CToolBar::LoadBitmap; CToolBar::SetButtons; CView::DoPreparePrinting; CView::GetDocument; CView::IsSelected; CView::OnDragEnter; CView::OnDragLeave; CView::OnDragOver; CView::OnDraw; CView::OnDrop; CView::OnInitialUpdate; CView::OnPrepareDC; CView::OnPreparePrinting; CView::OnScrollBy; CView::OnUpdate; CWinApp::AddDocTemplate; CWinApp::EnableShellOpen; CWinApp::InitInstance; CWinApp::LoadStdProfileSettings; CWinApp::RegisterShellFileTypes; CWinApp::RunEmbedded; CWnd::ClientToScreen; CWnd::GetClientRect; CWnd::GetDC; CWnd::GetParentFrame; CWnd::InvalidateRect; CWnd::OnChar; CWnd::OnCreate; CWnd::OnDestroy; CWnd::OnLButtonDblClk; CWnd::OnLButtonDown; CWnd::OnPaletteChanged; CWnd::OnQueryNewPalette; CWnd::OnRButtonDown; CWnd::OnSetCursor; CWnd::OnSetFocus; CWnd::OnSize; CWnd::ReleaseDC; CWnd::SetFocus; CWnd::ShowWindow; CWnd::UpdateWindow; CreateHatchBrush; DeleteItem; DragAcceptFiles; FORMATETC; FillRect; GetDeviceCaps; GetKeyState; GetSysColor; GlobalFree; GlobalLock; GlobalUnlock; LPtoDP; MessageBeep; MulDiv; RGB; RectVisible; RegisterClipboardFormat; ReleaseStgMedium; STGMEDIUM; SelectPalette; SetBkColor; SetBrushOrg; SetMapMode; SetRect; SetTextColor; SetViewportExt; SetWindowExt; abs; afxMemDF; max; memset; min

Hinweis

Einige Beispiele, z. B. eine, wurden nicht geändert, um Änderungen in der Visual C++-Assistenten, Bibliotheken und Compiler, demonstrieren aber dennoch wie Sie die gewünschte Aufgabe durchführen.

Siehe auch

Weitere Ressourcen

MFC-Beispiele