Class ParamMapUserDlgProc

3DS Max Plug-In SDK

Class ParamMapUserDlgProc

See Also: IParamMap.

Description:

This class is used with parameter maps. If there is some custom handling required by a particular control, the client can derive a class from ParamMapUserDlgProc and set it as the parameter map's user callback (usually using SetUserDialogProc()).

Methods:

Prototype:

virtual BOOL DlgProc(TimeValue t,IParamMap *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)=0;

Remarks:

Implemented by the Plug-In.

This is the dialog proc that will be called to process the control messages. This proc will be called after the default processing is complete.

Parameters:

TimeValue t

This is the current time.

IParamMap *map

This is a pointer to the parameter map.

HWND hWnd

This is the handle to the dialog.

UINT msg

This is the message that should be processed by the dialog proc.

WPARAM wParam

This is a parameter that holds message specific information.

LPARAM lParam

This is a parameter that holds message specific information.

Return Value:

This is essentially the equivalent of a normal Windows dialog proc, so it should return whatever value a normal dialog proc returns for the message. An exception is that the value REDRAW_VIEWS may be returned to cause the viewports to be redrawn.

Prototype:

virtual void DeleteThis()=0;

Remarks:

Implemented by the Plug-In.

If the DlgProc is non-NULL when the ParamMap is deleted the DeleteThis() method will be called. This method is usually implemented as follows: void DeleteThis() {delete this;}

Prototype:

virtual void Update(TimeValue t);

Remarks:

This method is available in release 2.0 and later only.

This method is called whenever the dialog is being updated. If the parameter map is invalidated, 3ds max will update the user interface. When it does, this method is called so a developer may do anything they need to on each update.

Parameters:

TimeValue t

The time at which the update is taking place.

Default Implementation:

{}

See Also: For more information on Dialog Procs see the Advanced Topics section on Custom Controls.