ActiveX コントロールは、DotNet フレームワークとそのコントロールを考慮して、最新バージョンの Microsoft Windows オペレーティング システムで非推奨となりました。
MAXScript では引き続き ActiveX コントロールがサポートされますが、これらは MAXScript にアクセス可能なシステムにインストールおよび登録する必要があります。
ActiveX コントロールの代わりに、MAXScript では、3ds Max 9 以降において DotNet コントロールがサポートされます。
3ds Max 4以降、MAXScript は ActiveX コントロールをロールアウトに埋め込めるようになり、利用できるユーザ インタフェース コントロールの種類が拡張されています。
次の例が含まれます。
単純なコントロール
ActiveMovieControl Object,Calendar Control,Microsoft TreeView
複合コントロール
Microsoft Excel,Microsoft Internet ExplorerAdobe Acrobat
この機能により、MAXScript に次のようなさまざまな機能を追加できます。
ロールアウトに Web ブラウザを埋め込み、ユーザを Web サイトにナビゲートする。
ロールアウトに Excel スプレッドシートを埋め込み、ユーザがセルに入力した値を抽出して、Max 内でアニメーションを作成する。
MAXScript を利用して ActiveMovie プレーヤを作成し、Avi ファイルをロードして、ActiveMovie プレーヤ内に描画された Avi と Max のアニメーションとを同期させる。
この機能を支えている技術は、MAXScript 拡張機能プラグイン (MxsActiveX.dlx) です。ParamBlock2 は使用しません。このプラグインにより、新しいタイプのロールアウト コントロールが追加されます。
構文は次のようになります。
activeXControl <name> [ <control_type> ] [ setupEvents:<boolean> ] [ releaseOnClose:<boolean> ] [ prop1:<value> ] [ prop2:<value> ] &ldots;
パラメータ
<control_type>
コントロールを作成する文字列。
この文字列は次のいずれかの方法で指定する必要があります。
プログラム ID("MSCAL.Calendar.7"など)
クラス ID ("27E92C-1264B-101-8C-2A-040224009F-02C"など)
URL ("http://www.microsoft.com"など)
アクティブ ドキュメントへの参照("file://\\Documents\MyDoc.doc"など)
HTML のフラグメント(たとえば "MSHTML:
これはテキスト行です"「MSHTML:」は、MSHTML ストリームであることを明示するために、HTML フラグメントの前に配置する必要があります。
prop1:<value>
prop2:<value>
これらは、コントロール固有のキーワード引数です。コントロール上で showProperties
を呼び出すことにより、プロパティおよびプロパティ タイプのリストを取得できます。
setupEvents:<boolean>
true
(既定値)に設定すると、ActiveX コントロールに対するイベントのサポートが有効になります。false
に設定すると、イベント ハンドラがまったく呼び出されません。これは、コントロールによってあまりに多くのイベントが起動しているが、面白そうなものがまったくない場合に有用です。
releaseOnClose:<boolean>
ActiveX コントロールはすべて、2 つの非表示コントロールを作成します。ここで true
(既定値)を渡すと、これらが解放され、コントロールによってリソースがすべて使い尽くされてしまいます。また、ロールアウトを閉じてしまうと ActiveX のプロパティにアクセスできなくなります。これは、Listview や Treeview など、ウィンドウのコントロールに該当する現象です。
ロールアウトを閉じた後にコントロールのプロパティにアクセスする必要がある場合は、false
を渡す必要があります。これは、XML パーサーや FTP コントロールなど、ウィンドウの存在しないコントロールに役立ちます。 例としては xmlio.ms を参照してください。
例:
activeXControl ax "{05589FA1-C356-11CE-BF01-00AA0055595A}" \ height:200 width:300 align:#left
ActiveX コントロールのインデックス付きプロパティへのアクセス
ActiveX - 3ds Max キーボード アクセラレータを無効にする
MAXScript 名として表現される ActiveX COM
updateWindow (ActiveX コントロール用)
チュートリアル - ListView ActiveX コントロールを使用した選択オブジェクト検査プログラムの開発 - 第 1 部
チュートリアル - ListView ActiveX コントロールを使用した選択オブジェクト検査プログラムの開発 - 第 2 部
チュートリアル - TreeView ActiveX コントロールを使用したシーン ブラウザの開発 - 第 1 部
チュートリアル - TreeView ActiveX コントロールを使用したシーン ブラウザの開発 - 第 2 部
Windows Media Player の ActiveX コントロール
Windows Media Player の ActiveX コントロールの例
Internet Explorer の ActiveX コントロール