次の方法で共有


メニューとリソース : コンテナーの変更点

この技術情報では、ビジュアル編集コンテナー アプリケーションのメニューおよび他のリソースに対する必要がある変更について説明します。

コンテナー アプリケーションでは、変更の 2 種類で行われる必要があります: 埋め込み先編集の有効化に使用する新しいリソースのサポート、 OLE ビジュアル編集、および加算への既存のリソースへの変更。コンテナー アプリケーションの作成にアプリケーション ウィザードを使用してこれらの手順は、自動的に実行されます、カスタマイズが必要になる場合があります。

アプリケーション ウィザードを使用しない場合 OCLIENT.RC の変更がどのように実行されるか OCLIENT サンプル アプリケーションのリソース スクリプトを表示することもできます。MFC OLE OCLIENTサンプルを参照してください。

この技術情報で説明するトピックは次のとおりです。:

  • コンテナーのメニューの加算

  • アクセラレータ テーブルの加算

  • 文字列テーブルの加算

コンテナーのメニューの加算

[編集] メニューに次の項目を追加します:

項目

目的

新しい項目を挿入のオブジェクト

OLE の [オブジェクトの挿入] ダイアログ ボックスをドキュメントにリンクしたり、埋め込み項目を挿入するために開きます。

リンク貼り付け

ドキュメントにクリップボードの項目へのリンクを貼り付けます。

OLE 動詞

選択した項目の主要な動詞を呼び出します。このメニュー項目のテキストが選択した項目の主要な動詞を反映するように変更します。

リンク

OLE の [リンクの編集] ダイアログ ボックスを既存の項目リンクを変更するために開きます。

、この技術情報の変更に加えて、ソース ファイル (Microsoft Foundation Class)ライブラリの実装に必要な AFXOLECL.RC を含める必要があります。新しい項目を挿入のオブジェクトが唯一の必要なメニューの加算です。他の項目は追加できますが、ここに示す文字が一般的です。

含まれる項目の埋め込み先編集の有効化をサポートするには、コンテナー アプリケーションの新しいメニューを作成します。このメニューは同じファイル] メニューから構成され、ファイルが開いているときに、その中に配置される 2 種類の区切り記号があるかウィンドウのポップアップ メニューを使用しました。アクティブ化されたときにこれらの区切り記号はサーバー コンポーネント ()項目 (アプリケーション)がメニューの位置を示すために使用されます。このメニューのマージの手法の詳細については、 メニューとリソース: メニューのマージを参照してください。

コンテナー アプリケーションのアクセラレータ テーブルの加算

コンテナー アプリケーションのアクセラレータ テーブルのリソースにわずかな変更は、埋め込み先編集の有効化をサポートする場合は必要です。最初の変更は、ユーザーが埋め込み先編集モードをキャンセルするために、 Esc キー (キー)を押すことができます。メイン アクセラレータ テーブルに次のエントリを追加します:

ID

Key

種類

ID_CANCEL_EDIT_CNTR

VK_ESCAPE

VIRTKEY

2 番目の変更は、埋め込み先編集の有効化に対して作成された新しいメニュー リソースに対応する新しいアクセラレータ テーブルを作成します。この表は、上記の VK_ESCAPE エントリに加え、コンテナーに存在するファイルとペイン メニューのエントリがあります。次の例は、 MFC のサンプル コンテナーで埋め込み先編集の有効化のために作成されたアクセラレータ テーブルです:

ID

Key

種類

ID_FILE_NEW

Ctrl + N

VIRTKEY

ID_FILE_OPEN

Ctrl + O

VIRTKEY

ID_FILE_SAVE

Ctrl + S

VIRTKEY

ID_FILE_PRINT

Ctrl + P

VIRTKEY

ID_NEXT_PANE

VK_F6

VIRTKEY

ID_PREV_PANE

SHIFT+VK_F6

VIRTKEY

ID_CANCEL_EDIT_CNTR

VK_ESCAPE

VIRTKEY

コンテナー アプリケーションの文字列テーブルの加算

コンテナー アプリケーションの文字列テーブルへの変更のほとんどは コンテナーのメニューの加算で説明した追加のメニュー項目に対応します。これらは各メニュー項目が表示されたらステータス バーに表示されるテキストを指定します。たとえば、アプリケーション ウィザードが生成する文字列テーブル エントリを次に示します。:

ID

[文字列]

IDP_OLE_INIT_FAILED

OLE の初期化に失敗しました。OLE ライブラリのバージョンが正しいことを確認してください。

IDP_FAILED_TO_CREATE

オブジェクトの作成に失敗しました。オブジェクトがシステム レジストリに入力してください。

参照

概念

メニューとリソース (OLE)

メニューとリソース : サーバーの変更点