この技術情報では、サーバー アプリケーションがクライアント アプリケーションのドキュメントの項目を変更すると MFC フレームワークはダイヤルするオーバーライド可能な関数について説明します。
COleClientItem は、サーバー アプリケーションと呼ばれ、構成アプリケーションからの要求に対して呼ばれるいくつかのオーバーライド可能な関数を定義します。これらのオーバーライド可能な関数は、通常、通知として機能します。で変更のスクロール、アクティベーション、配置がなどのさまざまなイベントをコンテナー アプリケーションに通知し、そのユーザーにより、各項目を編集する、または別の方法で処理します。
フレームワークは呼び出し、実装が必要なオーバーライド可能な関数によって COleClientItem::OnChangeへの変更のコンテナー アプリケーションに通知します。この保護された関数は 2 個の引数を受け取ります。1 番目のは、サーバーが項目を変更した原因を指定します:
通知 |
説明 |
|---|---|
OLE_CHANGED |
OLE 項目の外観が変更されました。 |
OLE_SAVED |
OLE アイテムが格納されています。 |
OLE_CLOSED |
OLE アイテムは閉じられました。 |
OLE_RENAMED |
OLE アイテムを含むサーバー ドキュメントの名前が変更されました。 |
OLE_CHANGED_STATE |
OLE アイテムは 1 種類の状態から別の状態に変更されています。 |
OLE_CHANGED_ASPECT |
OLE アイテムの描画の側は、フレームワークによって変更されました。 |
これらの値は AFXOLE.H. で定義されている OLE_NOTIFICATION の列挙からです。
この関数への 2 番目の引数は、項目がどのように変更されたか、どの状態を入力したかを指定します:
最初の引数がある場合 |
2 番目の引数 |
|---|---|
OLE_SAVED または OLE_CLOSED |
使用されません。 |
OLE_CHANGED |
変更された OLE アイテムの辺を指定します。 |
OLE_CHANGED_STATE |
入力されている状態について説明します (emptyState、 loadedState、 openState、 activeState、または activeUIState)。 |
クライアント項目が判断できる状態についての詳細に コンテナー: クライアント項目の状態を参照してください。
フレームワークは、項目が埋め込み先編集が有効している場合 COleClientItem::OnGetItemPosition をダイヤルします。実装は、埋め込み先編集をサポートするアプリケーションに必要です。MFC アプリケーション ウィザードは OnGetItemPositionに引数として渡す CRect のオブジェクトに項目の座標を割り当てる基本実装を提供します。
OLE 項目の位置とサイズを埋め込み先編集時に変更されると、項目の場所についてコンテナーの情報およびクリッピング四角形が更新され、サーバーは変更に関する情報を受け取る必要があります。フレームワークは COleClientItem::OnChangeItemPosition をこのようにダイヤルします。MFC アプリケーション ウィザードでは、基本クラスの関数をダイヤルするオーバーライドを提供します。アプリケーション ウィザードが COleClientItem- 関数がクライアント項目のオブジェクトに保持される情報を更新するように派生クラス用に作成する関数を編集する必要があります。
参照
関連項目
COleClientItem::OnChangeItemPosition