Mapbutton

A mapbutton item is used to place a button in the rollout that will display the 3ds max Material/Map Browser dialog when clicked. Only texture maps will be displayed in the Material/Map Browser dialog. The syntax is:

mapbutton <name> [ <caption> ] [ map:<texturemap> ]   \

[ images:<image_spec_array> ] [ toolTip:<string> ]

The default alignment of mapbutton items is #center.

Example:

label sbm_lbl "Background Map:"

mapbutton      choosemap "<<none>>"  tooltip:"Select Background Map"

on choosemap picked texmap do

(

environmentmap = texmap

choosemap.text=classof texmap as string

)

Parameters

map:

The initial textureMap value returned by the map property before the user has selected a texture map using the mapbutton. Defaults to undefined.

images:

An image-specification array for providing bitmap images for the mapbutton. If this is specified, the <label> is ignored and the contents of the mapbutton are replaced with the bitmaps. The form is:

images:#(<image>, <maskImage>, <count_integer>, \

<enabled_out_image_index>, <enabled_in_image_index>, \

<disabled_out_image_index>, <disabled_in_image_index>)

where <image> and <maskImage> can be either a bitmap file-name string or a MAXScript bitmap value. <count_integer> specifies the number of sub-images in the bitmaps, and the image_index values specify which sub-image in the bitmaps is to be used for each of the four mapbutton states. For example:

bm1 = render camera:$cam01 outputSize:[80,60]

...

mapbutton foo images:#(bm1, undefined, 1, 1, 1, 1, 1)

would use a rendering as the mapbutton image, and

mapbutton decay images:#("dcybtns.bmp", "dcymask.bmp", 6, 1, 4, 1, 4)

would use sub-images 1 and 4 of bitmaps dcybtns.bmp and dcymask.bmp for the out and in states of the mapbutton, respectively.

See also Image Buttons.

toolTip:

Provides text for a tooltip for the mapbutton. No tooltip if unsupplied.

Properties

<mapbutton>.map                 TextureMap

The current textureMap value for the mapbutton, or the textureMap value specified by the map parameter if the user has not yet selected a texture map.

<mapbutton>.images              Array

Sets the image-specification array for the mapbutton. For example:

-- re-render, update button

bm1 = render()

foo.images = #(bm1, undefined, 1, 1, 1, 1, 1)

This property is write-only.

Events

on <mapbutton> picked <arg> do <expr>

Called when the user selects a texture map from the Material/Map Browser dialog while in the mapbutton pick command mode. The <arg> argument contains the selected textureMap value. The handler is not called if the user cancels out of the Material/Map Browser dialog.

Note: When a mapButton or materialButton is used in a rollout in a scripted material or textureMap plug-in, and so turn up the Material Editor, it behaves with the same functionality as sub-map and sub-material buttons do in other materials and maps. This includes supporting drag-and-drop with instance/copy, and opening sub-maps/materials if they have been assigned.

See also