Windows Media Player の ActiveX コントロールの例
注:
ActiveX コントロールは、DotNet フレームワークとそのコントロールを考慮して、最新バージョンの Microsoft Windows オペレーティング システムで非推奨となりました。
MAXScript では引き続き ActiveX コントロールがサポートされますが、これらは MAXScript にアクセス可能なシステムにインストールおよび登録する必要があります。
ActiveX コントロールの代わりに、MAXScript では、3ds Max 9 以降において DotNet コントロールがサポートされます。
次の例は、Windows Media Player ActiveX コントロールがシステムにインストールされている場合に有効です。
次の例では、Windows Media Player がロールアウトに作成されます。
-
[Pick Avi]ボタンを押してディスクから Avi ファイルを選択すると、avi ファイルをロードできます。
-
再生ボタンをクリックすると、「on timer...」イベントが呼び出されます。これにより、タイム スライダが Media Player 内のアクティブ フレームと同期します。
-
[プロパティを表示](Show properties)をクリックすると、すべてのプロパティがリストボックスに表示されます。
-
リストボックスからプロパティ名を選択すると、プロパティの値を取得できます。
-
リストボックスでプロパティを選択し、下に表示されたテキストに新しい値を入力することにより、プロパティを設定することもできます。
サンプル スクリプト
|
rollout rActiveX "Windows Media Player in a Rollout"
(
local val
activeXControl ax "{05589FA1-C356-11CE-BF01-00AA0055595A}" height:200 width:300 align:#left
button btnPick "Pick Avi" pos:[320, 10]
button btnProps "Show Properties" pos:[320, 50]
listBox lbProps "Properties:" pos:[420, 10] width:170
editText etValue "Value:" pos:[385, 170] width:200
label lblStatus "" pos:[440, 190]
on btnPick pressed do
(
local f = getOpenFileName caption:"Pick Any Avi File" types:"*.avi"
if f != undefined then ax.FileName = f
)
on btnProps pressed do
(
showProperties ax
lbProps.items = getPropNames ax
)
on lbProps selected sel do
(
if lbProps.items.count > 0 then
(
try ( val = getProperty ax lbProps.items[sel] )
catch ( val == undefined )
etValue.text = val as string
)
)
on etValue entered text do
(
try( setProperty ax lbProps.selected (text as (classof val)) ) catch( etValue.text = "Set Failed")
)
on ax timer do
(
sliderTime = animationRange.start + (ax.CurrentPosition * (animationRange.end - animationRange.start))/(ax.selectionEnd - ax.selectionStart)
)
on ax PositionChange oldPos newPos do
(
format "[%, %]\n" oldPos newPos
)
)
nf = newRolloutFloater "Test ActiveX" 650 300
addRollout rActiveX nf
|