MAXScript Dialogs and Rollout Floaters as Extended viewports

The following functions can be used to register and unregister MAXScript dialogs and rollout floaters as extended viewports.

registerViewWindow <MAXScript_dialog | rollout_floater>

Registers any MAXScript dialog or rollout floater as an extended viewport. The title of the dialog or floater appears in the viewport right click menu, under Views > Extended menu. When picked the dialog or floater will be displayed in that viewport.

If you click anywhere on the outside border, it will pop up the standard views menu. This will let you switch to a different view window.

unRegisterViewWindow < MAXScript_dialog | rollout_floater>

Unregisters a dialog or floater as an extended view window. It will throw an error if the dialog or floater is currently displayed in a viewport.

<rollout_floater>.inViewport

This property returns true if the rolloutfloater or rollout is installed in a viewport, false otherwise. Read-only.

Here is a sample script that creates two instances of a Cult3D viewer, found at www.cycore.com, and opens two files from the internet. Install the Cult3d Viewer and execute the script example below. After executing the script right click on any of the viewports and pick "Views > Extended > Cult3D Player" to display the window in the viewport.

example:

rollout rCult3D "Cult3D Player"

(

activeXControl ax1 "{31B7EB4E-8B4B-11D1-A789-00A0CC6651A8}" align:#left setupEvents:false pos:[10,10]

activeXControl ax2 "{31B7EB4E-8B4B-11D1-A789-00A0CC6651A8}" align:#left setupEvents:false pos:[10,220]

on rCult3D resized size do

(

local csz = (size - [20,30])*[1,.5]

ax2.pos = [10, csz.y+20]

ax1.size = ax2.size = csz

)

on rCult3D open do

(

ax1.size = ax2.size = [300,200]

ax1.LoadCult3D "http://www.cult3d.com/gallery/ecommerce/olympus_on_the_beach.co"

ax2.LoadCult3D "http://www.cult3d.com/gallery/museum/madonna.co"

)

)

createDialog rCult3D width:320 height:430

registerViewWindow rCult3D

 

ms_cult3d.gif

See also

ActiveX Controls in MAXScript Rollouts