手順 7: Web ページへのコントロールの配置
コントロール内で終わります。、コントロールを実際の環境での動作を確認するには、Web ページに配置します。コントロールを含む HTML ファイルは、コントロールを定義したときに作成されました。ソリューション エクスプローラーで PolyCtl.htm ファイルを開くと、Web ページのコントロールを参照できます。
この手順では、イベントに応答する Web ページのスクリプトの作成。は、Internet Explorer にコントロールがスクリプトに対して安全であることを通知するようにコントロールを変更します。
Web ページのスクリプトの実行
コントロールはまだ何も実行されません。したがって、送信するイベントに応答する Web ページを変更します。
Web ページのスクリプトには
PolyCtl.htm を開き、[HTML ビュー。HTML コードに次の行を追加します。これらは </OBJECT> の後に </BODY>の前に追加します。
<SCRIPT LANGUAGE="VBScript"> <!-- Sub PolyCtl_ClickIn(x, y) PolyCtl.Sides = PolyCtl.Sides + 1 End Sub Sub PolyCtl_ClickOut(x, y) PolyCtl.Sides = PolyCtl.Sides - 1 End Sub --> </SCRIPT>
HTM ファイルを保存します。
コントロールの内側をクリックすると、コントロールから側にプロパティを取得し、1 つ辺の数を増やす VBScript コードを追加。コントロールの外側をクリックすると、1 つ辺の数が減少します。
コントロールがスクリプトに対して安全であることを示します。
Internet Explorer のコントロールを含む Web ページをより効率的に表示するか、Visual C++ に組み込まれている Web ブラウザーのビューを使用できます。Web ブラウザーのビューでコントロールを表示するには、PolyCtl.htm を右クリックし、**[ブラウザーで表示]**をクリックします。
現在の Internet Explorer のセキュリティ設定に基づいて、コントロールがスクリプト]ダイアログ ボックスがセキュリティの通知を受け取る安全でない可能性があることができ、場合によっては損害ができることを示す)。たとえば、ページに表示するファイルを表示する場合またはファイルを削除する Delete のメソッドがありコントロールが、これは安全です。ただし、ユーザーが Delete のメソッドを呼び出すことができるため、スクリプトは、安全です。
セキュリティに関するメモ |
---|
このチュートリアルでは、安全としてマークされていない ActiveX コントロールを実行するには、Internet Explorer のセキュリティ設定を変更できます。コントロール パネルで、適切な設定を変更する [インターネットのプロパティ] クリックし、をクリック [セキュリティ]。チュートリアルを完了したら、元の状態に、セキュリティ設定を返します。 |
この特定のコントロールのセキュリティの警告ダイアログ ボックスを表示する必要はありません。プログラムで Internet Explorer に警告できます。IObjectSafety のインターフェイスでこれを行うことができます。ATL クラス IObjectSafetyImplは、このインターフェイスの実装を提供します。インターフェイスを使用してコントロールに追加し、IObjectSafetyImpl を継承したクラスのリストに追加し、任意の COM マップのそのファイルのエントリを追加します。
IObjectSafetyImpl をコントロールに追加するには
次の行を PolyCtl.h の継承クラスのリストの末尾に追加し、前の行にコンマを追加します:
public IObjectSafetyImpl<CPolyCtl, INTERFACESAFE_FOR_UNTRUSTED_CALLER>
PolyCtl.h の COM マップに次の行を追加します:
COM_INTERFACE_ENTRY(IObjectSafety)
コントロールのビルドとテスト
コントロールをビルドします。一度ビルドは、ブラウザーで PolyCtl.htm を開き、ビューの再終わっています。今度は、Web ページが安全通知ダイアログ ボックスを使用せずに直接表示されます。多角形の内部をクリック; 1 つ辺の数。辺の数を減らすには多角形の外側をクリックします。3 の下辺の数を減らすしようとすると、エラー メッセージが設定されます。
次の手順
これは、ATL チュートリアルを完了します。ATL についての詳細情報へのリンクについては、ATL のスタート ページを参照してください。