ATLPages サンプル : IPropertyPageImpl を使用したプロパティ ページの実装

更新 : 2007 年 11 月

ATLPages サンプルでは、IPropertyPageImpl を使用したプロパティ ページの実装例を示します。

このサンプルは、以下の項目で構成されます。

  • EnvDTE::Document インターフェイスを使用して、テキスト文書のプロパティを表示 (また変更を可能に) する CDocumentProperties プロパティ ページ クラス。

  • OleCreatePropertyFrame API に対する単純化されたラッパーをスクリプト言語に公開する CHelper ヘルパ コンポーネント。

  • ATLPages.vsmacros プロジェクトの単純なテスト マクロである Test。このマクロでは、ヘルパを使用して Visual C++ エディタ内のアクティブな文書のプロパティ ページを表示します。

fh6ft32s.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 の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

サンプルを実行するには、ソリューションをビルドし、次にテスト マクロを実行する必要があります。

このサンプルをビルドするには

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

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

マクロを実行するには

  1. エディタでテキスト文書を開きます。たとえば、ATLPages サンプルのソース ファイルの 1 つを開きます。

  2. [ツール] メニューの [マクロ] をポイントし、[マクロ エクスプローラ] をクリックします。[マクロ エクスプローラ] ウィンドウが開きます。

  3. [ツール] メニューの [マクロ] をポイントし、[マクロ プロジェクトの読み込み] をクリックします。[マクロ プロジェクトの追加] ダイアログ ボックスが表示されます。

  4. ATLPages.vsmacros ファイルの場所 (ATLPages サンプルと同じフォルダ内) に移動し、[開く] をクリックします。これで、マクロ ファイルが読み込まれ、マクロ エクスプローラに表示されます。

  5. [ATLPages] ノードを展開し、Test マクロをダブルクリックします。

    マクロの実行時にテキスト文書が開かれていない場合は、何も行われません。文書が開かれている場合は、ファイル名とその読み取り専用ステータスを示す、文書のプロパティ ページが表示されます。これらのいずれかを変更できます。変更内容は、[Apply] または [OK] をクリックすると適用されます。ファイル名を変更すると、ファイルが新しい名前でディスクに保存されます。ファイルの読み取り専用ステータスを変更すると、ファイルを Visual C++ エディタで変更できるかどうかに影響します。ディスク上のファイルの読み取り専用属性には影響しません。

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

    ソース コード管理下のファイルの読み取り専用プロパティは、このプロパティ ページでは変更できません。

キーワード

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

IPropertyPage, IPropertyPageImpl, OleCreatePropertyFrame, IPropertyPage::SetObjects, IPropertyPage::Activate, IPropertyPage::Apply, EnvDTE

参照

その他の技術情報

ATL サンプル