次の方法で共有


OCLIENT サンプル : ビジュアル編集コンテナ アプリケーションの説明

更新 : 2007 年 11 月

OCLIENT サンプルは、ビジュアル編集コンテナ アプリケーションの一例です。このサンプルは基本的には CONTAINER サンプルの拡張バージョンですが、厳密には CONTAINER の派生ではありません。

c2f86tzd.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

サンプルとそのインストール手順を取得するには

  • Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

OCLIENT サンプルをビルドおよび実行するには

  1. ソリューション ファイル OCLIENT.sln を開きます。

  2. [ビルド] メニューの [ビルド] をクリックします。

  3. OCLIENT アプリケーションを開いて実行します。

OCLIENT で示す機能は以下のとおりです。

  • ほかのアプリケーションとの間のドラッグ アンド ドロップ

  • 同一アプリケーション ウィンドウ内で Ctrl キーを押しながらドラッグすることによるオブジェクトのクローン (複製) 作成

  • ドラッグ アンド ドロップ操作時のウィンドウの自動スクロール

  • ネイティブな形式のオブジェクトの貼り付け

  • リンク貼り付け

OCLIENT は、CONTAINER と同じく単純なオブジェクト描画プログラムです。描画されるオブジェクトの種類は、リンクされた OLE アイテムか埋め込まれた OLE アイテムの 1 つだけです。

OCLIENT 描画に新しいオブジェクトを追加するには

  1. [Edit] メニューの [Insert New Object] をクリックします。

    [オブジェクトの挿入] ダイアログ ボックスが表示されます。

  2. 追加する OLE アイテムの種類を選択します。

    新しいオブジェクトが OCLIENT のウィンドウに表示され、OCLIENT のメニューとツール バーが、サーバー アプリケーションが指定したポップアップ メニューとツール バー ボタンに更新されます。

または

  1. オートメーション サーバーの実行中に、OLE アイテムをクリップボードにコピーします。

  2. OCLIENT の [Edit] メニューの [Paste] をクリックして、OLE アイテムを埋め込みます。または、[Paste Link] をクリックして OLE アイテムをリンクします。

新しく追加された OLE アイテムは、常に OCLIENT の描画の左上隅に配置されます。新しい OLE アイテムが、古いアイテムの一部または全体に重なる場合があります。マウスを使用して一度に選択できる OLE アイテムは 1 つだけです。選択されたリンク アイテムは点線の四角形で表示されます。また、埋め込みアイテムは実線の四角形で表示されます。OLE アイテムはドラッグして移動できます。サイズ変更ハンドルを使用すると、選択した OLE アイテムのサイズを変更できます。

OLE アイテムを削除するには、マウスでアイテムをクリックして選択し、Del キーを押すか、または [Edit] メニューの [Delete] をクリックします。

OLE アイテムの内容を編集するには、アイテムをダブルクリックするかマウスで選択してから、[Edit] メニューの [<オブジェクトの種類> オブジェクト] をポイントし、[編集] をクリックします。埋め込み先編集アイテムの編集を終了するには、OCLIENT のウィンドウで、アイテムの四角形の外側をクリックします。サーバー アプリケーションで完全に開かれていたアイテムの編集を終了するには、サーバーの [File Update] を使用します。

キーワード

このサンプルでは、次のキーワードを使用します。

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

c2f86tzd.alert_note(ja-jp,VS.90).gifメモ :

このサンプルを含む一部のサンプルには、Visual C++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。

参照

その他の技術情報

MFC サンプル