スクリプトの変換
macroScript SceneListView category:"DotNet"
(
rollout listview_rollout "ListView Selected"
(
/* ActiveX Version: fn initListView lv = ( lv.gridLines = true lv.View = #lvwReport lv.fullRowSelect = true layout_def = #("Object Name", "Object Class", "Verts", "Faces", "Material") for i in layout_def do ( column = lv.ColumnHeaders.add() column.text = I ) ) */
fn initListView lv =
(
lv.gridLines = true --ActiveX の場合と同様です。
--以下のコントロールで詳細を表示します。既定値を使用します。既定値を使用します。
lv.View = (dotNetClass "System.Windows.Forms.View").Details
lv.fullRowSelect = true --ActiveX の場合と同様です。
layout_def = #("Object Name", "Object Class", "Verts", "Faces", "Material")
for i in layout_def do
lv.Columns.add i 96 --名前と幅(オプション)を指定して列を追加します。
)
/* ActiveX Version: fn fillInSpreadSheet lv = ( for o in selection do ( li = lv.ListItems.add() li.text = o.name sub_li = li.ListSubItems.add() sub_li.text = (classof o) as string sub_li = li.ListSubItems.add() sub_li.text = try((o.mesh.numverts) as string)catch("--") sub_li = li.ListSubItems.add() sub_li.text = try((o.mesh.numfaces) as string)catch("--") sub_li = li.ListSubItems.add() sub_li.text = (o.material) as string ) ) */
fn fillInSpreadSheet lv =
(
theRange = #() --リスト項目の収集に使用する配列です。
for o in selection do
(
--まずオブジェクト名を指定して ListViewItem オブジェクトを作成します。
li = dotNetObject "System.Windows.Forms.ListViewItem" o.name
--次に、必要な文字列値を指定してすべてのサブ項目を追加します。
sub_li = li.SubItems.add ((classof o) as string)
sub_li = li.SubItems.add (try((o.mesh.numverts) as string)catch("--"))
sub_li = li.SubItems.add (try((o.mesh.numfaces) as string)catch("--"))
sub_li = li.SubItems.add ((o.material) as string)
append theRange li-- 配列にリスト項目を追加します。
)
lv.Items.AddRange theRange--完了したら ListView を配置します。
)
/* ActiveX Version: activeXControl lv_objects "MSComctlLib.ListViewCtrl" width:490 height:190 align:#center */
dotNetControl lv_objects "System.Windows.Forms.ListView" width:490 height:190 align:#center
on listview_rollout open do
(
initListView lv_objects
fillInSpreadSheet lv_objects
)
)
try(destroyDialog listview_rollout)catch()
createDialog listview_rollout 500 200
)
|