OCLIENT サンプル : ビジュアル編集コンテナ アプリケーションの説明
更新 : 2007 年 11 月
OCLIENT サンプルは、ビジュアル編集コンテナ アプリケーションの一例です。このサンプルは基本的には CONTAINER サンプルの拡張バージョンですが、厳密には CONTAINER の派生ではありません。
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。 |
サンプルとそのインストール手順を取得するには
Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。
詳細については、「サンプル ファイルの格納場所」を参照してください。
使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。
サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。
サンプルのビルドと実行
OCLIENT サンプルをビルドおよび実行するには
ソリューション ファイル OCLIENT.sln を開きます。
[ビルド] メニューの [ビルド] をクリックします。
OCLIENT アプリケーションを開いて実行します。
OCLIENT で示す機能は以下のとおりです。
ほかのアプリケーションとの間のドラッグ アンド ドロップ
同一アプリケーション ウィンドウ内で Ctrl キーを押しながらドラッグすることによるオブジェクトのクローン (複製) 作成
ドラッグ アンド ドロップ操作時のウィンドウの自動スクロール
ネイティブな形式のオブジェクトの貼り付け
リンク貼り付け
OCLIENT は、CONTAINER と同じく単純なオブジェクト描画プログラムです。描画されるオブジェクトの種類は、リンクされた OLE アイテムか埋め込まれた OLE アイテムの 1 つだけです。
OCLIENT 描画に新しいオブジェクトを追加するには
[Edit] メニューの [Insert New Object] をクリックします。
[オブジェクトの挿入] ダイアログ ボックスが表示されます。
追加する OLE アイテムの種類を選択します。
新しいオブジェクトが OCLIENT のウィンドウに表示され、OCLIENT のメニューとツール バーが、サーバー アプリケーションが指定したポップアップ メニューとツール バー ボタンに更新されます。
または
オートメーション サーバーの実行中に、OLE アイテムをクリップボードにコピーします。
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
メモ : |
---|
このサンプルを含む一部のサンプルには、Visual C++ のウィザード、ライブラリ、およびコンパイラの変更が反映されていませんが、必要なタスクを実行する方法は示されています。 |