TabbedDialogs - Controlling Tabbed Dialogs

These methods let you control 3ds Max tabbed dialogs like the Rendering, Environment and Effects, Object Properties, Configure Paths etc.


The following specs define what a valid argument looks like for the tabbedDialogs methods. MAXScript does not have a class that corresponds to Class_ID, so these are passed as a 2 element array of integers.

tabbedDialogSpec ::= ( #render | #renderVP | #envEffects | #objProp | #preferences | #configPath | #(<int>,<int>) )

#(<int>,<int>) is Class_ID of tabbed dialog

tabPageSpec ::= ( <int> | #(<int>,<int>) )

<int> is index in dialog (1-based)

#(<int>,<int>) is Class_ID of tab page


<bool>tabbedDialogs.isOpen <tabbedDialogSpec>

Returns true if the specified dialog is open.


The tabbedDialogs.isOpen method should be called before calling any of the other methods. If the specified dialog is not open, the remainder of the methods will not perform any action or throw an error, and those methods that return a value will return 'undefined'.

<#(<int>,<int>)> tabbedDialogs.getDialogID <tabbedDialogSpec>

Returns Class_ID of specified tabbed dialog

tabbedDialogs.invalidate <tabbedDialogSpec>

Invalidates all pages in the dialog

<bool>tabbedDialogs.OkToCommit <tabbedDialogSpec>

Returns true if all pages in dialog say it is ok to commit changes. Used for modal dialogs with IDOK and IDCANCEL

tabbedDialogs.CommitPages <tabbedDialogSpec>

Commits changes in all pages. Used for modal dialogs with IDOK and IDCANCEL

tabbedDialogs.CloseDialog <tabbedDialogSpec>

Closes dialog.

tabbedDialogs.CancelDialog <tabbedDialogSpec>

Cancels dialog.

<int>tabbedDialogs.getNumPages <tabbedDialogSpec>

Returns the number of tab pages in the specified dialog.

<#(<int>,<int>)>tabbedDialogs.getPageID <tabbedDialogSpec> <tabPageSpec>

Returns Class_ID of specified tab page

<#(<int>,<int>)>tabbedDialogs.getCurrentPage <tabbedDialogSpec>

Returns Class_ID of current tab page

tabbedDialogs.setCurrentPage <tabbedDialogSpec> <tabPageSpec>

Sets specified tab page as the current tab page

tabbedDialogs.invalidatePage <tabbedDialogSpec> <tabPageSpec>

Invalidates the specified tab page

tabbedDialogs.getPageTitle <tabbedDialogSpec> <tabPageSpec>

Returns the tab title for the specified tab page. This title is localized.

<bool>tabbedDialogs.isPage <tabbedDialogSpec> <tabPageSpec>

Returns true if the the specified tab page is present in the dialog.

For Example:

--Switch to Adv.Lighting tab if Render Scene dialog is open:

if tabbedDialogs.isOpen #render then

tabbedDialogs.setCurrentPage #render #(1758358594, 1812881699)

See also

envEffectsDialog - Open and Close the Environment and Effects dialog