"Microsoft TabStrip Control 6.0 (SP4)" "MSComctlLib.TabStrip.2" "{1EFB6596-857C-11D1-B16A-00C0F0283628}"
ActiveX コントロールは、DotNet フレームワークとそのコントロールを考慮して、最新バージョンの Microsoft Windows オペレーティング システムで非推奨となりました。
MAXScript では引き続き ActiveX コントロールがサポートされますが、これらは MAXScript にアクセス可能なシステムにインストールおよび登録する必要があります。
ActiveX コントロールの代わりに、MAXScript では、3ds Max 9 以降において DotNet コントロールがサポートされます。
説明:
TabStrip ActiveX コントロールは、3ds Max のタブ表示された[シーンをレンダリング](Render Scene)ダイアログ ボックスまたは[基本設定] (Preferences)ダイアログ ボックスに似た、マルチページ ダイアログ ボックスの管理に使用できる一連のタブを作成します。
コンストラクタ:
activeXControl ilctrl "MSComctlLib.TabStrip.2" プロパティ:
.Tabs : ITabs TabStrip 内に表示されるタブの配列を取得/設定します。
.Tabsプロパティ:
.Caption : string タブに表示されるテキストを取得/設定します。
.Tag : undefined タブのタグを取得/設定します。
.Index : integer タブのインデックスを取得/設定します。
.Key : string タブのキーを取得/設定します。
.ToolTipText : string タブのツールチップ テキストを取得/設定します。
.Width : float タブの幅を取得/設定します。
.Height : float タブの高さを取得/設定します。
.Top : float タブの最上部の位置を取得/設定します。
.Left : float タブの左の位置を取得/設定します。
.Selected : boolean タブの選択状態を取得/設定します。
.Image : undefined タブのイメージを取得/設定します。
.HighLighted : boolean タブのハイライト状態を取得/設定します。
.Enabled : boolean TabStrip の使用可能状態を取得/設定しますfalse に設定した場合、タブを切り替えることができなくなります。
.Font : IFontDisp タブのラベルに使用するフォントにアクセスします。
.hWnd : OLE_HANDLE TabStrip の Windows OLE ハンドルにアクセスします。
.MouseIcon : IPictureDisp 表示されるマウス アイコンを取得/設定します。
.MultiRow : boolean 複数行モードを取得/設定します。true に設定した場合、すべてのタブを表示できるだけの幅がタブ ストリップにない場合、タブは複数行に並べられます。false に設定した場合、収まらないタブは画面から外れ、タブをスクロールできるように左矢印と右矢印が表示されます。
.Style : TabStyleConstants( #tabTabs | #tabButtons | #tabFlatButtons) タブ スタイルを取得/設定します。

#TabTabs、#TabButtons、#TabFlatButtons の各スタイル。
.TabFixedWidth : integer .TabWidthStyle プロパティが、#tabFixed に設定されている場合、タブの固定幅を取得/設定します。この値は、「Twip」で表示されます。
.TabWidthStyle : TabWidthStyleConstants( #tabJustified | #tabNonJustified | #tabFixed) タブの幅スタイルを取得/設定します。

#TabJustified と TabFixedWidth を 2400 twip に設定した .#TabFixed。
.ClientTop : float .ClientLeft : float .ClientHeight : float .ClientWidth : float クライアントの最上部および左座標と幅および高さを取得/設定します。
.MousePointer : MousePointerConstants( #ccDefault | #ccArrow | #ccCross | #ccIBeam | #ccIcon | #ccSize | #ccSizeNESW | #ccSizeNS | #ccSizeNWSE | #ccSizeEW | #ccUpArrow | #ccHourglass | #ccNoDrop | #ccArrowHourglass | #ccArrowQuestion | #ccSizeAll | #ccCustom ) TabStrip 上を移動したときのマウス ポインタのスタイルを取得/設定します。
.ImageList : IVBDataObject .TabFixedHeight : integer タブの固定高を取得/設定します。
.ShowTips : boolean ヒントを表示するかどうかを取得/設定します。
.SelectedItem : ITab 現在選択されている項目を返します。
.OLEDropMode : OLEDropConstants( #ccOLEDropNone | #ccOLEDropManual ) OLE Drop モードを取得/設定します。
.HotTracking : boolean マウスが TabStrip 上を移動したときにタブをホットトラックするかどうかを取得/設定します。
.MultiSelect : boolean 複数のタブを同時に選択できるようにするかどうかを取得/設定します。
.Placement : PlacementConstants( #tabPlacementTop | #tabPlacementBottom | #tabPlacementLeft | #tabPlacementRight ) タブの配置を取得/設定します。


.Separators : boolean 区切りを使用するかどうかを取得/設定します。
.TabMinWidth : float タブの最小幅を取得/設定します。
.TabStyle : TabSelStyleConstants( #tabTabStandard | #tabTabOpposite ) タブ スタイルを取得/設定します。
メソッド:
.Refresh() タブの表示をリフレッシュします。
.OLEDrag() 手動 OLE Drag を実行します。
.DeselectAll() すべてのタブを選択解除します。
イベント:
on <control_name> Click do ( ... ) ユーザが TabStrip コントロール内でクリックしたとき(マウス ボタンを放した直後)に呼び出されます。このイベントは特定のタブを返すわけではありませんが、すべてのタブの選択状態や他のプロパティを問い合わせる場合に使用できます。これは、ユーザがタブをクリックしたという一般的な通知であり、イベントによって行われる実際のアクションは、スクリプト開発者が指定できます。
on <control_name> KeyDown KeyCode:integer Shift:integer do ( ... ) ユーザがキーを押したときに呼び出されます。KeyCode 引数には押されたキーの整数コードが含まれ、Shift 引数には[Shift]、[Ctrl]、および[Alt]キーが押されているかどうかを示すビットから成る整数値が含まれます。ビット 1 が[Shift]キー、ビット 2 が[Ctrl]キー、ビット 3 が[Alt]キーを表します。
0 - モディファイヤ キーは押されていません。
1 - 左または右の[Shift]キーが押されました。
2 - 左または右の[Ctrl]キーが押されました。
3 - [Ctrl] + [Shift]キーが同時に押されました。
4 - 左または右の[Alt]キーが押されました。
6 - [Ctrl] + [Alt]キーが同時に押されました。
7 - [Ctrl]、[Alt]、[Shift]キーが同時に押されました。
on <control_name> KeyPress KeyAscii:integer do ( ... ) ユーザがキーを押したときに呼び出されます。KeyAscii 引数には、押されたキーの ASCII 整数コードが含まれます。たとえば、[スペース]を押すと 32 が、[Shift]+[A]を押すと 65 が返されます。
on <control_name> KeyUp KeyCode:integer Shift:integer do ( ... ) ユーザがキーを放したときに呼び出されます。KeyCode 引数には放したキーの整数コードが含まれ、Shift 引数には[Shift]、[Ctrl]、および[Alt]キーが押されているかどうかを示すビットから成る整数値が含まれます。上記の keyDown イベントを参照してください。
on <control_name> MouseDown Button:integer Shift:integer x:OLE_XPOS_PIXELS y:OLE_YPOS_PIXELS do ( ... ) ユーザがマウスを TabStrip コントロール内に移動したときに呼び出されます。
Button 引数には、マウスのボタンに対応するビットから成る整数値が含まれます。ビット 1 は左マウス ボタンを、ビット 2 は右マウス ボタンを、ビット 3 は中央のマウス ボタンまたはホイールを表します。
1 - 左マウス ボタンが押されました。
2 - 右マウス ボタンが押されました。
4 - 中央のマウス ボタンまたはホイールが押されました。
複数のマウス ボタンを同時に押しても値は追加されず、それぞれのボタンの個別イベントが生成されます。
Shift 引数には、先に説明したとおり、[Shift]、[Ctrl]、および[Alt]キーの状態が含まれます。
x および y 引数には、TabStrip ピクセル座標(twip ではありません)におけるクリックの位置が含まれます。 ここで、0,0 は TabStrip コントロールの左上隅になります。
on <control_name> MouseMove Button:integer Shift:integer x:OLE_XPOS_PIXELS y:OLE_YPOS_PIXELS do ( ... ) ユーザが ListView コントロール上でマウスを放したときに呼び出されます。
Button 引数には、マウスのボタンに対応するビットから成る整数値が含まれます。ビット 1 は左マウス ボタンを、ビット 2 は右マウス ボタンを、ビット 3 は中央のマウス ボタンまたはホイールを表します。
1 - 左マウス ボタンが押されました。
2 - 右マウス ボタンが押されました。
4 - 中央のマウス ボタンまたはホイールが押されました。
複数のマウス ボタンを同時に押しても値は追加されず、それぞれのボタンの個別イベントが生成されます。
Shift 引数には、先に説明したとおり、[Shift]、[Ctrl]、および[Alt]キーの状態が含まれます。
x および y 引数には、TabStrip ピクセル座標(twip ではありません)におけるクリックの位置が含まれます。ここで、0,0 は TabStrip コントロールの左上隅になります。
on <control_name> MouseUp Button:integer Shift:integer x:OLE_XPOS_PIXELS y:OLE_YPOS_PIXELS do ( ... ) ユーザが TreeView コントロール上でマウスを放したときに呼び出されます。
Button 引数には、マウスのボタンに対応するビットから成る整数値が含まれます。ビット 1 は左マウス ボタンを、ビット 2 は右マウス ボタンを、ビット 3 は中央のマウス ボタンまたはホイールを表します。
1 - 左マウス ボタンが押されました。
2 - 右マウス ボタンが押されました。
4 - 中央のマウス ボタンまたはホイールが押されました。
複数のマウス ボタンを同時に押しても値は追加されず、それぞれのボタンの個別イベントが生成されます。
Shift 引数には、先に説明したとおり、[Shift]、[Ctrl]、および[Alt]キーの状態が含まれます。
x 引数 および y 引数には、TreeView ピクセル座標(twip ではありません)におけるクリックの位置が含まれます。ここで、0,0 は TreeView コントロールの左上隅になります。
on <control_name> BeforeClick Cancel:integer do ( ... ) ユーザが新しいタブをクリックしたときに呼び出されます。Cancel 引数は、タブが変更されたときに 0 を返します。選択されたタブをクリックしても、このイベントは呼び出されません。
on <control_name> OLEStartDrag &Data:DataObject &AllowedEffects:integer do ( ... ) OLE Drag が開始したときに呼び出されます。
on <control_name> OLEGiveFeedback &Effect:integer &DefaultCursors:boolean do ( ... ) OLE Drag で、ドラッグ効果とカーソルを指定する必要がある場合に呼び出されます。
on <control_name> OLESetData &Data:DataObject &DataFormat:integer do ( ... ) OLE Drag で、ドラッグ効果とカーソルを指定する必要がある場合に呼び出されます。
on <control_name> OLECompleteDrag &Effect:integer do ( ... ) OLE Drag が完了したときに呼び出されます。
on <control_name> OLEDragOver &Data:DataObject &Effect:integer &Button:integer &Shift:integer &x:float &y:float &State:integer do ( ... ) OLE Drag オブジェクトが ActiveX コントロール上にドラッグされているときに呼び出されます。
on <control_name> OLEDragDrop &Data:DataObject &Effect:integer &Button:integer &Shift:integer &x:float &y:float do ( ... ) OLE Drag オブジェクトがドロップされたときに呼び出されます。
例
( rollout firstRollout "Rollout 1" ( edittext edittext01 text:"This is just a test." height:135 width:262 ) rollout secondRollout "Rollout 2" ( listbox listbox02 items:#("Line One","MAXScript Rocks","ActiveX Too") width:260 ) rollout testTabs "Test Tabs" ( activeXcontrol ax_tabs "MSComctlLib.TabStrip.2" height:20 subRollout theSubRollout height:180 on ax_tabs Click do ( case ax_tabs.SelectedItem.index of ( 1: ( removeSubRollout theSubRollout secondRollout addSubRollout theSubRollout firstRollout ) 2: ( removeSubRollout theSubRollout firstRollout addSubRollout theSubRollout secondRollout ) ) ) on testTabs open do ( ax_tabs.tabs[1].caption = "First Tab" ax_tabs.tabs.add pvCaption:"Second Tab" ) )--end rollout createDialog testTabs 340 220 addSubRollout testTabs.theSubRollout firstRollout )
