System Notification Codes

Module description

The following pre-defined system notification codes may be passed to the global functions RegisterNotification(), UnRegisterNotification(), BroadcastNotification().

See also
Structure NotifyInfo, Class Interface, Class Bitmap, Class RenderGlobalContext.

Modules

 The name change notifications.
 

Macros

#define NOTIFY_UNITS_CHANGE   0x00000001
 Sent if the user changes the unit setting. More...
 
#define NOTIFY_TIMEUNITS_CHANGE   0x00000002
 Sent if the user changes the time format setting. More...
 
#define NOTIFY_VIEWPORT_CHANGE   0x00000003
 Sent if the user changes the viewport layout. More...
 
#define NOTIFY_SPACEMODE_CHANGE   0x00000004
 Sent if the user changes the reference coordinate system. More...
 
#define NOTIFY_SYSTEM_PRE_RESET   0x00000005
 Sent before 3ds Max system is reset. More...
 
#define NOTIFY_SYSTEM_POST_RESET   0x00000006
 Sent after 3ds Max system is reset. More...
 
#define NOTIFY_SYSTEM_PRE_NEW   0x00000007
 Sent before a new scene is requested. More...
 
#define NOTIFY_SYSTEM_POST_NEW   0x00000008
 Sent after a new scene requested has been serviced. More...
 
#define NOTIFY_FILE_PRE_OPEN   0x00000009
 Sent before a file is opened. NotifyInfo::callParam is a pointer to type FileIOType. More...
 
#define NOTIFY_FILE_POST_OPEN   0x0000000A
 Sent after a file is opened successfully. More...
 
#define NOTIFY_FILE_PRE_MERGE   0x0000000B
 Sent before a file is merged. More...
 
#define NOTIFY_FILE_POST_MERGE   0x0000000C
 Sent after a file is merged successfully. More...
 
#define NOTIFY_FILE_PRE_SAVE   0x0000000D
 Sent before a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name). More...
 
#define NOTIFY_FILE_POST_SAVE   0x0000000E
 Sent after a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name). More...
 
#define NOTIFY_FILE_OPEN_FAILED   0x0000000F
 Sent after a file open fails. NotifyInfo::callParam is a pointer to type FileIOType. More...
 
#define NOTIFY_FILE_PRE_SAVE_OLD   0x00000010
 Sent before an old version file is saved. More...
 
#define NOTIFY_FILE_POST_SAVE_OLD   0x00000011
 Sent after an old version file is saved. More...
 
#define NOTIFY_SELECTIONSET_CHANGED   0x00000012
 Sent after the selection set has changed. More...
 
#define NOTIFY_BITMAP_CHANGED   0x00000013
 Sent after a bitmap is reloaded. More...
 
#define NOTIFY_PRE_RENDER   0x00000014
 Sent before rendering starts. More...
 
#define NOTIFY_POST_RENDER   0x00000015
 Sent after rendering has finished. More...
 
#define NOTIFY_PRE_RENDERFRAME   0x00000016
 Sent before rendering each frame. More...
 
#define NOTIFY_POST_RENDERFRAME   0x00000017
 Sent after rendering each. More...
 
#define NOTIFY_PRE_IMPORT   0x00000018
 Sent before a file is imported. More...
 
#define NOTIFY_POST_IMPORT   0x00000019
 Sent after a file is imported successfully. More...
 
#define NOTIFY_IMPORT_FAILED   0x0000001A
 Sent if a file import fails or is cancelled. More...
 
#define NOTIFY_PRE_EXPORT   0x0000001B
 Sent before a file is exported. More...
 
#define NOTIFY_POST_EXPORT   0x0000001C
 Sent after a file is exported successfully. More...
 
#define NOTIFY_EXPORT_FAILED   0x0000001D
 Sent if a export fails or is cancelled. More...
 
#define NOTIFY_PRE_PROGRESS   0x0000001F
 Sent before the progress bar is displayed. More...
 
#define NOTIFY_POST_PROGRESS   0x00000020
 Sent after the progress bar is finished. More...
 
#define NOTIFY_MODPANEL_SEL_CHANGED   0x00000021
 Sent when the modify panel focuses on a new object because of opening the Modify panel or changing selection. More...
 
#define NOTIFY_RENDPARAM_CHANGED   0x00000023
 Sent when the common renderer parameters have changed via the render dialog. More...
 
#define NOTIFY_FILELINK_BIND_FAILED   0x0000002A
 Sent if a File Link Bind fails. More...
 
#define NOTIFY_FILELINK_DETACH_FAILED   0x0000002B
 Sent if a File Link Detach fails. More...
 
#define NOTIFY_FILELINK_RELOAD_FAILED   0x0000002C
 Sent if a File Link Reload fails. More...
 
#define NOTIFY_FILELINK_ATTACH_FAILED   0x0000002D
 Sent if a File Link Attach fails. More...
 
#define NOTIFY_FILELINK_PRE_BIND   0x00000030
 Sent before a File Link Bind. More...
 
#define NOTIFY_FILELINK_POST_BIND   0x00000031
 Sent after a successful File Link Bind. More...
 
#define NOTIFY_FILELINK_PRE_DETACH   0x00000032
 Sent before a File Link Detach. More...
 
#define NOTIFY_FILELINK_POST_DETACH   0x00000033
 Sent after a successful File Link Detach. More...
 
#define NOTIFY_FILELINK_PRE_RELOAD   0x00000034
 Sent before a File Link Reload (partial, full, or dynamic) More...
 
#define NOTIFY_FILELINK_POST_RELOAD   0x00000035
 Sent after a successful File Link Reload (partial, full, or dynamic) More...
 
#define NOTIFY_FILELINK_PRE_ATTACH   0x00000036
 Sent before a File Link Attach. More...
 
#define NOTIFY_FILELINK_POST_ATTACH   0x00000037
 Sent after a successful File Link. More...
 
#define NOTIFY_RENDER_PREEVAL   0x00000039
 Sent before the renderer starts evaluating objects; NotifyInfo::callParam is a pointer to TimeValue. More...
 
#define NOTIFY_NODE_CREATED   0x0000003A
 Sent when a node is created (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_LINKED   0x0000003B
 Sent when a node is linked (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_UNLINKED   0x0000003C
 Sent when a node is unlinked (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_HIDE   0x0000003D
 Sent when a node is hidden (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_UNHIDE   0x0000003E
 Sent when a node is unhidden (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_FREEZE   0x0000003F
 Sent when a node is frozen (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_UNFREEZE   0x00000040
 Sent when a node is unfrozen (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_PRE_MTL   0x00000041
 Node is about to get a new material (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_NODE_POST_MTL   0x00000042
 Node just got a new material (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_SCENE_ADDED_NODE   0x00000043
 Node just added to scene (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_SCENE_PRE_DELETED_NODE   0x00000044
 Node just removed from scene (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_SCENE_POST_DELETED_NODE   0x00000045
 Node just removed from scene. More...
 
#define NOTIFY_SEL_NODES_PRE_DELETE   0x00000046
 selected nodes will be deleted. (NotifyInfo::callParam is a pointer to Tab<INode*>) More...
 
#define NOTIFY_SEL_NODES_POST_DELETE   0x00000047
 Selected nodes just deleted. More...
 
#define NOTIFY_WM_ENABLE   0x00000048
 Sent when main window gets an WM_ENABLE (BOOL enabled) More...
 
#define NOTIFY_SYSTEM_SHUTDOWN   0x00000049
 3ds Max is about to exit, (system shutdown starting) More...
 
#define NOTIFY_SYSTEM_STARTUP   0x00000050
 3ds Max just went live More...
 
#define NOTIFY_PLUGIN_LOADED   0x00000051
 A plug-in was just loaded. (NotifyInfo::callParam is a pointer to DllDesc). More...
 
#define NOTIFY_SYSTEM_SHUTDOWN2   0x00000052
 Last broadcast before exit, after the scene is destroyed. More...
 
#define NOTIFY_ANIMATE_ON   0x00000053
 Sent when Animate UI mode is activated. More...
 
#define NOTIFY_ANIMATE_OFF   0x00000054
 Sent when Animate UI mode is de-activated. More...
 
#define NOTIFY_COLOR_CHANGE   0x00000055
 Sent by the system when one or more custom colors have changed. More...
 
#define NOTIFY_PRE_EDIT_OBJ_CHANGE   0x00000056
 Sent just before the current edit object is about to change. More...
 
#define NOTIFY_POST_EDIT_OBJ_CHANGE   0x00000057
 Sent just after the current edit object changes. More...
 
#define NOTIFY_RADIOSITYPROCESS_STARTED   0x00000058
 Sent when radiosity processing is started. More...
 
#define NOTIFY_RADIOSITYPROCESS_STOPPED   0x00000059
 Sent when radiosity processing is stopped, but not done. More...
 
#define NOTIFY_RADIOSITYPROCESS_RESET   0x0000005A
 Sent when radiosity processing is reset. More...
 
#define NOTIFY_RADIOSITYPROCESS_DONE   0x0000005B
 Sent when radiosity processing is complete. More...
 
#define NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE   0x0000005C
 Sent when lighting unit display system is changed. More...
 
#define NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP   0x0000005D
 Sent when starting to render a reflect/refract map. More...
 
#define NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME   0x0000005E
 Sent when starting to render the full frame. More...
 
#define NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE   0x0000005F
 Sent when starting to render a tone-mapping image. More...
 
#define NOTIFY_RADIOSITY_PLUGIN_CHANGED   0x00000060
 Sent when the radiosity plugin is changed (a new one is assigned) More...
 
#define NOTIFY_SCENE_UNDO   0x00000061
 Sent on scene undo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the undo entry name). More...
 
#define NOTIFY_SCENE_REDO   0x00000062
 Sent on scene redo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the redo entry name). More...
 
#define NOTIFY_MANIPULATE_MODE_OFF   0x00000063
 Sent when manipulate mode ends. More...
 
#define NOTIFY_MANIPULATE_MODE_ON   0x00000064
 Sent when manipulate mode starts. More...
 
#define NOTIFY_PRE_MIRROR_NODES   0x00000069
 Sent before a mirror operation begins. More...
 
#define NOTIFY_POST_MIRROR_NODES   0x0000006A
 Sent after a mirror operation ends. More...
 
#define NOTIFY_NODE_CLONED   0x0000006B
 Sent after a node is cloned but before theHold.Accept(..) (NotifyInfo::callParam is a pointer to the node). More...
 
#define NOTIFY_PRE_NOTIFYDEPENDENTS   0x0000006C
 Sent before NotifyDependents from outside the recursion. More...
 
#define NOTIFY_POST_NOTIFYDEPENDENTS   0x0000006D
 Sent after NotifyDependents from outside the recursion. More...
 
#define NOTIFY_MTL_REFADDED   0x0000006E
 Sent by Mtl::RefAdded(). NotifyInfo::callParam is a Mtl pointer. More...
 
#define NOTIFY_MTL_REFDELETED   0x0000006F
 Sent by Mtl::FefDeleted(). NotifyInfo::callParam is a Mtl pointer. More...
 
#define NOTIFY_TIMERANGE_CHANGE   0x00000070
 Sent after the animate time range has been changed. More...
 
#define NOTIFY_PRE_MODIFIER_ADDED   0x00000071
 Sent before a modifier is added to an object. More...
 
#define NOTIFY_POST_MODIFIER_ADDED   0x00000072
 Sent after a modifier is added to an object. More...
 
#define NOTIFY_PRE_MODIFIER_DELETED   0x00000073
 Sent before a modifier is deleted from an object. More...
 
#define NOTIFY_POST_MODIFIER_DELETED   0x00000074
 Sent after a modifier is deleted from an object. More...
 
#define NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE   0x00000085
 Sent after all of the new objects for a reload have been created. More...
 
#define NOTIFY_PRE_NODES_CLONED   0x00000086
 Sent before each set of clones is created. More...
 
#define NOTIFY_POST_NODES_CLONED   0x00000087
 Sent after each set of clones is created. More...
 
#define NOTIFY_POST_MERGE_PROCESS   0x00000088
 
#define NOTIFY_SYSTEM_PRE_DIR_CHANGE   0x00000089
 Sent before a system path changes. More...
 
#define NOTIFY_SYSTEM_POST_DIR_CHANGE   0x0000008A
 Sent after a system path has changed. More...
 
#define NOTIFY_SV_SELECTIONSET_CHANGED   0x0000008C
 Schematic view notification. More...
 
#define NOTIFY_SV_DOUBLECLICK_GRAPHNODE   0x0000008D
 Schematic view notification. More...
 
#define NOTIFY_PRE_RENDERER_CHANGE   0x0000008E
 Sent before the renderer changes. More...
 
#define NOTIFY_POST_RENDERER_CHANGE   0x0000008F
 Sent after the renderer changes. More...
 
#define NOTIFY_SV_PRE_LAYOUT_CHANGE   0x00000090
 Sent before a schematic view layout change is made. More...
 
#define NOTIFY_SV_POST_LAYOUT_CHANGE   0x00000091
 Sent after a schematic view layout change is made. More...
 
#define NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED   0x00000092
 Sent AFTER object categories were marked to be hidden/unhidden. More...
 
#define NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED   0x00000093
 Sent AFTER custom display filters have been activated/deactivated. More...
 
#define NOTIFY_LAYER_CREATED   0x00000094
 Sent after a layer is added to layer manager. More...
 
#define NOTIFY_LAYER_DELETED   0x00000095
 Sent before layer is removed from layer manager; NotifyInfo::callParam is a pointer to ILayer. More...
 
#define NOTIFY_NODE_LAYER_CHANGED   0x00000096
 NotifyInfo::callParam is a pointer to struct { INode* node; ILayer* oldLayer; ILayer* newLayer;}. More...
 
#define NOTIFY_TABBED_DIALOG_CREATED   0x00000097
 Sent when a tabbed dialog is created. More...
 
#define NOTIFY_TABBED_DIALOG_DELETED   0x00000098
 Sent when a tabbed dialog is deleted. More...
 
#define NOTIFY_NODE_NAME_SET   0x00000099
 Sent by BaseNode::SetName. More...
 
#define NOTIFY_HW_TEXTURE_CHANGED   0x0000009A
 Sent by the Material Editor when the "use texture in hardware shader" button is pressed. More...
 
#define NOTIFY_MXS_STARTUP   0x0000009B
 Sent by MAXScript during its initialization. More...
 
#define NOTIFY_MXS_POST_STARTUP   0x0000009C
 Sent by MAXScript when it has completed its initialization. More...
 
#define NOTIFY_ACTION_ITEM_HOTKEY_PRE_EXEC   0x0000009D
 Sent before an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*. More...
 
#define NOTIFY_ACTION_ITEM_HOTKEY_POST_EXEC   0x0000009E
 Sent after an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*. More...
 
#define NOTIFY_MXS_SHUTDOWN   0x000000A7
 Sent when MAXScript has been shut down. More...
 
#define NOTIFY_D3D_PRE_DEVICE_RESET   0x000000A8
 This is sent by the D3D GFX (Dx9) when a device reset is going to happen. More...
 
#define NOTIFY_D3D_POST_DEVICE_RESET   0x000000A9
 This is sent by the D3D GFX (Dx9) when a device reset has happened. More...
 
#define NOTIFY_TOOLPALETTE_MTL_SUSPEND   0x000000AA
 Used to suspend material change tracking in VIZ. More...
 
#define NOTIFY_TOOLPALETTE_MTL_RESUME   0x000000AB
 Used to resume material change tracking in VIZ. More...
 
#define NOTIFY_CLASSDESC_REPLACED   0x000000AC
 Provides a notification that a ClassDesc is being replaced by another one. More...
 
#define NOTIFY_CLASSDESC_LOADED   0x000000B0
 Sent after a ClassDesc was successfully loaded from a plugin dll. More...
 
#define NOTIFY_TOOLBARS_PRE_LOAD   0x000000B1
 This provides a notification that a toolbar configuration is being loaded, prior to load. More...
 
#define NOTIFY_TOOLBARS_POST_LOAD   0x000000B2
 This provides a notification that a toolbar configuration is being loaded, after the load. More...
 
#define NOTIFY_FILE_CHECK_STATUS   0x000000B7
 Allows a plugin to query the system for the status of the file before max saves the max scene file. More...
 
#define NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED   0x000000BA
 Sent when the sub-object level changes in the modify panel. More...
 
#define NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD   0x000000BB
 Sent when a bitmap fails to load in the DirectX Shader Material. More...
 
#define NOTIFY_RENDER_PREEVAL_FRAMEINFO   0x000000BC
 Sent just after NOTIFY_RENDER_PREEVAL. More...
 
#define NOTIFY_POST_SCENE_RESET   0x000000BD
 Sent just after deleting all refs in existing scene. More...
 
#define NOTIFY_ANIM_LAYERS_ENABLED   0x000000BE
 Sent just after animation layers are enabled on some nodes in the scene. More...
 
#define NOTIFY_ANIM_LAYERS_DISABLED   0x000000BF
 Sent just after animation layers are disabled on some nodes in the scene. More...
 
#define NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE   0x000000C0
 Sent just before an action item is overridden and IActionItemOverride::StartOveride is called. More...
 
#define NOTIFY_ACTION_ITEM_POST_START_OVERRIDE   0x000000C1
 Sent just after an action item is overridden and after IActionItemOverride::StartOveride is called. More...
 
#define NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE   0x000000C2
 Sent just before an action item finishes it's override and IActionItemOverride::EndOverride is called. More...
 
#define NOTIFY_ACTION_ITEM_POST_END_OVERRIDE   0x000000C3
 Sent just after an action item finishes it's override and after IActionItemOverride::EndOverride is called. */. More...
 
#define NOTIFY_SELECTION_LOCK   0x000000D0
 Sent when selection lock is triggered. */. More...
 
#define NOTIFY_SELECTION_UNLOCK   0x000000D1
 Sent when selection unlock is triggered. */. More...
 
#define NOTIFY_PRE_IMAGE_VIEWER_DISPLAY   0x000000D2
 Sent when an image viewer (including the rendered frame window) is opened, before it becomes visible. */. More...
 
#define NOTIFY_POST_IMAGE_VIEWER_DISPLAY   0x000000D3
 Sent when an image viewer (including the rendered frame window) is opened, after it becomes visible. */. More...
 
#define NOTIFY_IMAGE_VIEWER_UPDATE   0x000000D4
 Sent by an image viewer (or the rendered frame window) to request that its custom rollouts update their UI. */. More...
 
#define NOTIFY_OS_THEME_CHANGED   0x000000D7
 Sent after OS theme has been changed. More...
 
#define NOTIFY_ACTIVE_VIEWPORT_CHANGED   0x000000D8
 Sent when the current active viewport is changed. More...
 
#define NOTIFY_PRE_MAXMAINWINDOW_SHOW   0x000000DB
 NOTIFY_PRE_MAXMAINWINDOW_SHOW is being sent when main window of 3ds Max is about to show. More...
 
#define NOTIFY_POST_MAXMAINWINDOW_SHOW   0x000000DC
 NOTIFY_POST_MAXMAINWINDOW_SHOW is being sent immediately after the main window of 3ds Max is shown. More...
 
#define NOTIFY_CLASSDESC_ADDED   0x000000DD
 Provides a notification that a new ClassDesc is being registered. More...
 
#define NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN   0x000000DE
 NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN is sent immediately before object instances are updated to a new object definition. More...
 
#define NOTIFY_OBJECT_DEFINITION_CHANGE_END   0x000000DF
 NOTIFY_OBJECT_DEFINITION_CHANGE_END is sent immediately after object instances are updated to a new object definition. More...
 
#define NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN   0x000000E0
 Sent when a MtlBase is about to show its UI with Associated parameter rollouts when being edited in a material editor. More...
 
#define NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE   0x000000E1
 Sent when a MtlBase has finished its editing in the material editor and the UI with Associated parameter rollouts have been closed. More...
 
#define NOTIFY_PRE_APP_FRAME_THEME_CHANGED   0x000000E2
 Sent before the application theme is changed via IColorManager::SetAppFrameColorTheme(). More...
 
#define NOTIFY_APP_FRAME_THEME_CHANGED   0x000000E3
 Sent when the application theme is changed via IColorManager::SetAppFrameColorTheme(). More...
 
#define NOTIFY_PRE_VIEWPORT_DELETE   0x000000E4
 Sent before a viewport is deleted. It usually occurs when removing a view tab. More...
 
#define NOTIFY_PRE_WORKSPACE_CHANGE   0x000000E5
 Sent before a CUI workspace is about to change NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI is changing to. More...
 
#define NOTIFY_POST_WORKSPACE_CHANGE   0x000000E6
 Sent after a CUI workspace has changed NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI has changed to. More...
 
#define NOTIFY_PRE_WORKSPACE_COLLECTION_CHANGE   0x000000E7
 Sent before the collection of system workspaces is about to change. More...
 
#define NOTIFY_POST_WORKSPACE_COLLECTION_CHANGE   0x000000E8
 Sent after the collection of system workspaces has changed. More...
 
#define NOTIFY_KEYBOARD_SETTING_CHANGED   0x000000E9
 Sent after keyboard short-cut setting file(*.kbd) has changed. More...
 
#define NOTIFY_MOUSE_SETTING_CHANGED   0x000000EA
 Sent after mouse setting file has changed. More...
 
#define NOTIFY_TOOLBARS_PRE_SAVE   0x000000EB
 This provides a notification that a toolbar configuration is being saved, prior to save. More...
 
#define NOTIFY_TOOLBARS_POST_SAVE   0x000000EC
 This provides a notification that a toolbar configuration is being saved, after the save. More...
 
#define NOTIFY_APP_ACTIVATED   0x000000ED
 Called when the main application window is activated. More...
 
#define NOTIFY_APP_DEACTIVATED   0x000000EE
 Called when the main application window is deactivated. More...
 
#define NOTIFY_CUI_MENUS_UPDATED   0x000000EF
 Called when the main application menu bar is updated. More...
 
#define NOTIFY_CUI_MENUS_PRE_SAVE   0x000000F0
 Called before the main application menu bar is saved. More...
 
#define NOTIFY_CUI_MENUS_POST_SAVE   0x000000F1
 Called after the main application menu bar is saved. More...
 
#define NOTIFY_VIEWPORT_SAFEFRAME_TOGGLE   0x000000F2
 Called after the safe frame has been toggled for the viewport. More...
 
#define NOTIFY_PLUGINS_PRE_SHUTDOWN   0x000000F3
 Sent during shutdown immediately before DllDesc::CallShutdown is called on all plugin dlls. More...
 
#define NOTIFY_PLUGINS_PRE_UNLOAD   0x000000F4
 Sent during shutdown immediately before DllDesc::Unload is called on all plugin dlls. More...
 
#define NOTIFY_CUI_MENUS_POST_LOAD   0x000000F5
 Called after a menu file has been loaded and the menu bar updated. More...
 
#define NOTIFY_LAYER_PARENT_CHANGED   0x000000F6
 Sent after the parent of a layer was changed. More...
 
#define NOTIFY_ACTION_ITEM_EXECUTION_STARTED   0x000000F7
 Sent when an action item starts executing. More...
 
#define NOTIFY_ACTION_ITEM_EXECUTION_ENDED   0x000000F8
 Sent when an action item finished executing. More...
 
#define NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED   0x000000F9
 Sent when the user starts creating a plug-in instance. More...
 
#define NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_ENDED   0x000000FA
 Sent when the user ends creating a plug-in instance. More...
 
#define NOTIFY_FILE_POST_MERGE2   0x000000FB
 Sent after a file is merged successfully - right after NOTIFY_FILE_POST_MERGE. NotifyInfo::callParam is a pointer to. More...
 
#define NOTIFY_POST_NODE_SELECT_OPERATION   0x000000FC
 Sent after the system Node Selection Processor has finished selecting nodes. More...
 
#define NOTIFY_PRE_VIEWPORT_TOOLTIP   0x000000FD
 Sent before viewport tooltip pops. NotifyInfo::callParam is a INode* to the tip node. More...
 
#define NOTIFY_WELCOMESCREEN_DONE   0x000000FE
 Sent once initial welcome screen is done (either it did not show or it has been closed). More...
 
#define NOTIFY_PLAYBACK_START   0x000000FF
 
#define NOTIFY_PLAYBACK_END   0x00000100
 
#define NOTIFY_SCENE_EXPLORER_NEEDS_UPDATE   0x00000101
 Sent if the scene explorer needs to refresh its display. More...
 
#define NOTIFY_FILE_POST_OPEN_PROCESS_FINALIZED   0x00000102
 Sent at the very end of the load sequence, note that any animatables created by the scene load may have been deleted by this point. More...
 
#define NOTIFY_FILE_POST_MERGE_PROCESS_FINALIZED   0x00000103
 Sent at the very end of the merge sequence, note that any animatables created by the scene merge may have been deleted by this point. More...
 
#define NOTIFY_PRE_PROJECT_FOLDER_CHANGE   0x00000104
 Sent before project folder is changed. More...
 
#define NOTIFY_POST_PROJECT_FOLDER_CHANGE   0x00000105
 Sent after project folder is changed. More...
 
#define NOTIFY_PRE_MXS_STARTUP_SCRIPT_LOAD   0x00000106
 Sent immediately before MAXScript loads its startup scripts. stdscripts will have already been read. More...
 
#define NOTIFY_ACTIVESHADE_IN_VIEWPORT_TOGGLED   0x00000107
 Sent when ActiveShade in the viewport is toggled on/off. More...
 
#define NOTIFY_SYSTEM_SHUTDOWN_CHECK   0x00000108
 Sent when potentially starting to shut 3ds Max down, before checking for things that can cancel the shutdown, such as scene dirty or ExitMAXCallback callback object returning false. More...
 
#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_FAILED   0x00000109
 Sent if system shutdown was cancelled. More...
 
#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_PASSED   0x0000010A
 Sent if system shutdown was not cancelled. and system shutdown is about to start. More...
 
#define NOTIFY_INTERNAL_USE_START   0x70000000
 

Material Library File Notifications

#define NOTIFY_MATLIB_PRE_OPEN   0x00000024
 Sent before loading a material library. More...
 
#define NOTIFY_MATLIB_POST_OPEN   0x00000025
 Sent after loading a material library. More...
 
#define NOTIFY_MATLIB_PRE_SAVE   0x00000026
 Sent before saving a material library. More...
 
#define NOTIFY_MATLIB_POST_SAVE   0x00000027
 Sent after saving a material library. More...
 
#define NOTIFY_MATLIB_PRE_MERGE   0x00000028
 Sent before merging a material library. More...
 
#define NOTIFY_MATLIB_POST_MERGE   0x00000029
 Sent after merging a material library. More...
 

XRef System Notifications

These notices typically surround Merge notices

#define NOTIFY_SCENE_XREF_PRE_MERGE   0x00000065
 Sent before an XRef scene is merged. More...
 
#define NOTIFY_SCENE_XREF_POST_MERGE   0x00000066
 Sent after an XRef scene is successfully merged (NotifyInfo::callParam is a INode* pointer to the scene XRef tree). More...
 
#define NOTIFY_OBJECT_XREF_PRE_MERGE   0x00000067
 Sent before an XRef object is merged. More...
 
#define NOTIFY_OBJECT_XREF_POST_MERGE   0x00000068
 Sent after an XRef object is successfully merged. More...
 

Scene State Notifications

All the SceneState notifications have NotifyInfo::callParam as a const MCHAR* with the SceneState name except for NOTIFY_SCENESTATE_RENAME

#define NOTIFY_SCENESTATE_PRE_SAVE   0x0000009F
 Sent before a Scene State is saved. More...
 
#define NOTIFY_SCENESTATE_POST_SAVE   0x000000A0
 Sent after a Scene State is saved. More...
 
#define NOTIFY_SCENESTATE_PRE_RESTORE   0x000000A1
 Sent before a Scene State is restored. More...
 
#define NOTIFY_SCENESTATE_POST_RESTORE   0x000000A2
 Sent after a Scene State is restored. More...
 
#define NOTIFY_SCENESTATE_DELETE   0x000000A3
 Sent after a Scene State is deleted. More...
 
#define NOTIFY_SCENESTATE_RENAME   0x000000A4
 Sent after a Scene State is renamed. More...
 

Undo/Redo Notifications

#define NOTIFY_SCENE_PRE_UNDO   0x000000A5
 Sent before an Undo starts. More...
 
#define NOTIFY_SCENE_PRE_REDO   0x000000A6
 Sent before a Redo starts. More...
 
#define NOTIFY_SCENE_POST_UNDO   NOTIFY_SCENE_UNDO
 Sent to make the previous undo notification more explicit, and match the PRE_UNDO. More...
 
#define NOTIFY_SCENE_POST_REDO   NOTIFY_SCENE_REDO
 Sent to make the previous undo notification more explicit, and match the PRE_UNDO. More...
 

File I/O Notifications

All contain NotifyInfo::callParam that points to a struct{ int iProcessType; const MCHAR* filename; }.

See notify_file_process_type

#define NOTIFY_FILE_PRE_OPEN_PROCESS   0x000000AD
 
#define NOTIFY_FILE_POST_OPEN_PROCESS   0x0000008B
 
#define NOTIFY_FILE_PRE_SAVE_PROCESS   0x000000AE
 
#define NOTIFY_FILE_POST_SAVE_PROCESS   0x000000AF
 

Asset Tracking System Notifications

These notification bracket ATS traversal of the entire scene (or ReferenceTarget hierarchy, in the case of a general retarget action) and repath any assets that should be repathed.

No parameters are sent with these notifications.

#define NOTIFY_ATS_PRE_REPATH_PHASE   0x000000B3
 Sent before the ATS traversal starts. More...
 
#define NOTIFY_ATS_POST_REPATH_PHASE   0x000000B4
 Sent after the ATS traversal completes. More...
 

Bitmap Proxy System Notifications

Any specific operation during which proxies should be disable can be surrounded by these notifications.

This method of disabling proxies is different from actually disabling the bitmap proxies through the proxy manager; these notifications do not actually result in re-loading of any bitmaps. Rather, the Bitmap Texture will only load the high-res image when it is asked to, which makes the process efficient.

Note
One should ideally NOT broadcast these notifications. Instead, use class BitmapProxyTemporaryDisableGuard; it is safer as it handles multiple nested disables.
#define NOTIFY_PROXY_TEMPORARY_DISABLE_START   0x000000B5
 
#define NOTIFY_PROXY_TEMPORARY_DISABLE_END   0x000000B6
 

Named Selection Sets Notifications.

The following notifications will be broadcast whenever any operation has been done to a named selection set.

Note
These notifications only apply to named selection sets of objects but not sub-object ones.
#define NOTIFY_NAMED_SEL_SET_CREATED   0x000000B8
 Sent when a Named selection set is created either in the UI, or via maxscript. More...
 
#define NOTIFY_NAMED_SEL_SET_DELETED   0x000000B9
 Sent when a Named selection set is deleted either in the UI, or via maxscript. More...
 
#define NOTIFY_NAMED_SEL_SET_PRE_MODIFY   0x000000CA
 The following notification will be sent when the node set of a named selection set begins to be changed. More...
 
#define NOTIFY_NAMED_SEL_SET_POST_MODIFY   0x000000CB
 The following notification will be sent when the node set of a named selection set has been changed. More...
 
#define NOTIFY_NAMED_SEL_SET_RENAMED   0x000000BC
 Sent when a Named selection set name is changed, either in the old UI, or via maxscript. More...
 

Node Property Change Notifications

NotifyInfo::callParam is a pointer to the list of nodes (INodeTab*) that is about to change or has changed.

#define NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED   0x00000075
 Sent before an INode's general property is changed. More...
 
#define NOTIFY_POST_NODE_GENERAL_PROP_CHANGED   0x00000076
 Sent After an INode's general property is changed. More...
 
#define NOTIFY_PRE_NODE_GI_PROP_CHANGED   0x00000077
 Sent before an INode's global illumination property is changed. More...
 
#define NOTIFY_POST_NODE_GI_PROP_CHANGED   0x00000078
 Sent after an INode's global illumination property is changed. More...
 
#define NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED   0x00000079
 Sent before an INode's mental ray property is changed. More...
 
#define NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED   0x00000080
 Sent after an INode's mental ray illumination property is changed. More...
 
#define NOTIFY_PRE_NODE_BONE_PROP_CHANGED   0x00000081
 Sent before an INode's bone property is changed. More...
 
#define NOTIFY_POST_NODE_BONE_PROP_CHANGED   0x00000082
 Sent after an INode's bone property is changed. More...
 
#define NOTIFY_PRE_NODE_USER_PROP_CHANGED   0x00000083
 Sent before an INode's user property is changed. More...
 
#define NOTIFY_POST_NODE_USER_PROP_CHANGED   0x00000084
 Sent after an INode's user property is changed. More...
 
#define NOTIFY_PRE_NODE_RENDER_PROP_CHANGED   0x000000C4
 Sent before an INode's render property is changed. More...
 
#define NOTIFY_POST_NODE_RENDER_PROP_CHANGED   0x000000C5
 Sent after an INode's render property is changed. More...
 
#define NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED   0x000000C6
 Sent before an INode's display property is changed. More...
 
#define NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED   0x000000C7
 Sent after an INode's display property is changed. More...
 
#define NOTIFY_PRE_NODE_BASIC_PROP_CHANGED   0x000000C8
 Sent before an INode's basic property is changed. More...
 
#define NOTIFY_POST_NODE_BASIC_PROP_CHANGED   0x000000C9
 Sent after an INode's basic property is changed. More...
 

Custom Attributes Notifications

These notifications are sent after a custom attribute is added or removed from a custom attribute container.

NotifyInfo::callParam is a pointer to a NotifyCustomAttribute structure (see custattrib.h)

#define NOTIFY_CUSTOM_ATTRIBUTES_ADDED   0x000000D5
 Sent after a custom attribute is added to an Animatable. More...
 
#define NOTIFY_CUSTOM_ATTRIBUTES_REMOVED   0x000000D6
 Sent after a custom attribute is removed from an Animatable. More...
 

New Scene Options

Flag values in callParam for NOTIFY_SYSTEM_PRE_NEW and NOTIFY_SYSTEM_POST_NEW indicating the type of new scene operation that was carried out.

#define PRE_NEW_NEW_ALL   0x1
 All objects are deleted, including their animation data. More...
 
#define PRE_NEW_KEEP_OBJECTS   0x2
 
#define PRE_NEW_KEEP_OBJECTS_AND_HIERARCHY   0x3
 

File Process Type

#define FILE_PROCESS_SCENE   0x1
 
#define FILE_PROCESS_HOLD_FETCH   0x2
 
#define FILE_PROCESS_AUTOBAK   0x3
 

File Attributes

#define FILE_STATUS_READONLY   0x1
 

Macro Definition Documentation

#define NOTIFY_UNITS_CHANGE   0x00000001

Sent if the user changes the unit setting.

#define NOTIFY_TIMEUNITS_CHANGE   0x00000002

Sent if the user changes the time format setting.

#define NOTIFY_VIEWPORT_CHANGE   0x00000003

Sent if the user changes the viewport layout.

#define NOTIFY_SPACEMODE_CHANGE   0x00000004

Sent if the user changes the reference coordinate system.

#define NOTIFY_SYSTEM_PRE_RESET   0x00000005

Sent before 3ds Max system is reset.

#define NOTIFY_SYSTEM_POST_RESET   0x00000006

Sent after 3ds Max system is reset.

#define NOTIFY_SYSTEM_PRE_NEW   0x00000007

Sent before a new scene is requested.

NotifyInfo::callParam is New Scene Options

#define NOTIFY_SYSTEM_POST_NEW   0x00000008

Sent after a new scene requested has been serviced.

NotifyInfo::callParam is New Scene Options

#define NOTIFY_FILE_PRE_OPEN   0x00000009

Sent before a file is opened. NotifyInfo::callParam is a pointer to type FileIOType.

#define NOTIFY_FILE_POST_OPEN   0x0000000A

Sent after a file is opened successfully.

#define NOTIFY_FILE_PRE_MERGE   0x0000000B

Sent before a file is merged.

When merge is called to load an XRef, you can determine this by testing void * callParam. The result is not NULL if an XRef is being loaded.

#define NOTIFY_FILE_POST_MERGE   0x0000000C

Sent after a file is merged successfully.

When merge successfully loads an XRef, you can determine this by testing void * callParam. The result is not NULL if an XRef was loaded.

#define NOTIFY_FILE_PRE_SAVE   0x0000000D

Sent before a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name).

#define NOTIFY_FILE_POST_SAVE   0x0000000E

Sent after a file is saved (NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name).

#define NOTIFY_FILE_OPEN_FAILED   0x0000000F

Sent after a file open fails. NotifyInfo::callParam is a pointer to type FileIOType.

#define NOTIFY_FILE_PRE_SAVE_OLD   0x00000010

Sent before an old version file is saved.

#define NOTIFY_FILE_POST_SAVE_OLD   0x00000011

Sent after an old version file is saved.

#define NOTIFY_SELECTIONSET_CHANGED   0x00000012

Sent after the selection set has changed.

#define NOTIFY_BITMAP_CHANGED   0x00000013

Sent after a bitmap is reloaded.

The NotifyInfo::callParam is passed the MCHAR * to the bitmap file name. This is used for updating bitmaps that have changed. The callParam is used to pass the name of the bitmap file in case it is used in multiple changes. If the callParam is NULL, this notification applies to all bitmaps, as is the case when the input file gamma changes.

#define NOTIFY_PRE_RENDER   0x00000014

Sent before rendering starts.

#define NOTIFY_POST_RENDER   0x00000015

Sent after rendering has finished.

#define NOTIFY_PRE_RENDERFRAME   0x00000016

Sent before rendering each frame.

NotifyInfo::callParam is passed as a pointer to the RenderGlobalContext. At the time of this call, the scene must not be modified. The renderer has already called GetRenderMesh() on all the object instances, and the materials and lights are already updated. If you don't modify anything that is rendered, then it is safe to use this callback.

#define NOTIFY_POST_RENDERFRAME   0x00000017

Sent after rendering each.

NotifyInfo::callParam is passed a pointer to the RenderGlobalContext.

See also
NOTIFY_PRE_RENDERFRAME
#define NOTIFY_PRE_IMPORT   0x00000018

Sent before a file is imported.

NotifyInfo::callParam is passed a pointer to the RenderGlobalContext.

#define NOTIFY_POST_IMPORT   0x00000019

Sent after a file is imported successfully.

NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name.

#define NOTIFY_IMPORT_FAILED   0x0000001A

Sent if a file import fails or is cancelled.

#define NOTIFY_PRE_EXPORT   0x0000001B

Sent before a file is exported.

#define NOTIFY_POST_EXPORT   0x0000001C

Sent after a file is exported successfully.

NotifyInfo::callParam is a pointer to a string (MCHAR *) of the file name.

#define NOTIFY_EXPORT_FAILED   0x0000001D

Sent if a export fails or is cancelled.

#define NOTIFY_PRE_PROGRESS   0x0000001F

Sent before the progress bar is displayed.

The progress bar is displayed, for example, when the Render Preview command is run. If a plug-in uses a modeless window it should hide the window between this event and NOTIFY_POST_PROGRESS.

#define NOTIFY_POST_PROGRESS   0x00000020

Sent after the progress bar is finished.

#define NOTIFY_MODPANEL_SEL_CHANGED   0x00000021

Sent when the modify panel focuses on a new object because of opening the Modify panel or changing selection.

#define NOTIFY_RENDPARAM_CHANGED   0x00000023

Sent when the common renderer parameters have changed via the render dialog.

#define NOTIFY_MATLIB_PRE_OPEN   0x00000024

Sent before loading a material library.

#define NOTIFY_MATLIB_POST_OPEN   0x00000025

Sent after loading a material library.

NotifyInfo::callParam is a pointer to MtlBaseLib if success, otherwise NULL.

#define NOTIFY_MATLIB_PRE_SAVE   0x00000026

Sent before saving a material library.

#define NOTIFY_MATLIB_POST_SAVE   0x00000027

Sent after saving a material library.

#define NOTIFY_MATLIB_PRE_MERGE   0x00000028

Sent before merging a material library.

#define NOTIFY_MATLIB_POST_MERGE   0x00000029

Sent after merging a material library.

#define NOTIFY_FILELINK_BIND_FAILED   0x0000002A

Sent if a File Link Bind fails.

#define NOTIFY_FILELINK_DETACH_FAILED   0x0000002B

Sent if a File Link Detach fails.

#define NOTIFY_FILELINK_RELOAD_FAILED   0x0000002C

Sent if a File Link Reload fails.

#define NOTIFY_FILELINK_ATTACH_FAILED   0x0000002D

Sent if a File Link Attach fails.

#define NOTIFY_FILELINK_PRE_BIND   0x00000030

Sent before a File Link Bind.

#define NOTIFY_FILELINK_POST_BIND   0x00000031

Sent after a successful File Link Bind.

#define NOTIFY_FILELINK_PRE_DETACH   0x00000032

Sent before a File Link Detach.

#define NOTIFY_FILELINK_POST_DETACH   0x00000033

Sent after a successful File Link Detach.

#define NOTIFY_FILELINK_PRE_RELOAD   0x00000034

Sent before a File Link Reload (partial, full, or dynamic)

#define NOTIFY_FILELINK_POST_RELOAD   0x00000035

Sent after a successful File Link Reload (partial, full, or dynamic)

#define NOTIFY_FILELINK_PRE_ATTACH   0x00000036

Sent before a File Link Attach.

#define NOTIFY_FILELINK_POST_ATTACH   0x00000037

Sent after a successful File Link.

See also
NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE
#define NOTIFY_RENDER_PREEVAL   0x00000039

Sent before the renderer starts evaluating objects; NotifyInfo::callParam is a pointer to TimeValue.

The NotifyInfo::callParam is passed as a pointer to TimeValue. Renderer plugins must broadcast this notification before they start evaluation scene objects. This notification allows plugins (such as modifiers or base objects) to perform a custom task before the renderer evaluates them. The custom task is usually one that would be invalid to be performed during a call to INode::EvalWorldState().

#define NOTIFY_NODE_CREATED   0x0000003A

Sent when a node is created (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_LINKED   0x0000003B

Sent when a node is linked (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_UNLINKED   0x0000003C

Sent when a node is unlinked (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_HIDE   0x0000003D

Sent when a node is hidden (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_UNHIDE   0x0000003E

Sent when a node is unhidden (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_FREEZE   0x0000003F

Sent when a node is frozen (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_UNFREEZE   0x00000040

Sent when a node is unfrozen (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_PRE_MTL   0x00000041

Node is about to get a new material (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_NODE_POST_MTL   0x00000042

Node just got a new material (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_SCENE_ADDED_NODE   0x00000043

Node just added to scene (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_SCENE_PRE_DELETED_NODE   0x00000044

Node just removed from scene (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_SCENE_POST_DELETED_NODE   0x00000045

Node just removed from scene.

#define NOTIFY_SEL_NODES_PRE_DELETE   0x00000046

selected nodes will be deleted. (NotifyInfo::callParam is a pointer to Tab<INode*>)

#define NOTIFY_SEL_NODES_POST_DELETE   0x00000047

Selected nodes just deleted.

#define NOTIFY_WM_ENABLE   0x00000048

Sent when main window gets an WM_ENABLE (BOOL enabled)

#define NOTIFY_SYSTEM_SHUTDOWN   0x00000049

3ds Max is about to exit, (system shutdown starting)

#define NOTIFY_SYSTEM_STARTUP   0x00000050

3ds Max just went live

#define NOTIFY_PLUGIN_LOADED   0x00000051

A plug-in was just loaded. (NotifyInfo::callParam is a pointer to DllDesc).

#define NOTIFY_SYSTEM_SHUTDOWN2   0x00000052

Last broadcast before exit, after the scene is destroyed.

Most plugins will not live long enough to receive the notification. It is important to unregister this notification when your plugin dies. If not, 3ds Max will try to notify objects that no longer exist.

#define NOTIFY_ANIMATE_ON   0x00000053

Sent when Animate UI mode is activated.

#define NOTIFY_ANIMATE_OFF   0x00000054

Sent when Animate UI mode is de-activated.

#define NOTIFY_COLOR_CHANGE   0x00000055

Sent by the system when one or more custom colors have changed.

Plug-ins should listen to this notification if they use any of the custom colors registered with the system. See ViewportDrawingColors. If a plug-in has created a toolbar with a MaxBmpFileIcons object on it, it should register for this notification, and call ICustToolbar::ResetIconImages() in response to it. See classes ICustToolbar and MAXBmpFileIcon.

#define NOTIFY_PRE_EDIT_OBJ_CHANGE   0x00000056

Sent just before the current edit object is about to change.

This notification is sent whenever the object returned by Interface::GetCurEditObject() changes.

#define NOTIFY_POST_EDIT_OBJ_CHANGE   0x00000057

Sent just after the current edit object changes.

This notification is sent whenever the object returned by Interface::GetCurEditObject() changes.

#define NOTIFY_RADIOSITYPROCESS_STARTED   0x00000058

Sent when radiosity processing is started.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

#define NOTIFY_RADIOSITYPROCESS_STOPPED   0x00000059

Sent when radiosity processing is stopped, but not done.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

#define NOTIFY_RADIOSITYPROCESS_RESET   0x0000005A

Sent when radiosity processing is reset.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

#define NOTIFY_RADIOSITYPROCESS_DONE   0x0000005B

Sent when radiosity processing is complete.

The radiosity_process notifications are designed to be broadcast by radiosity plugins (derived from class RadiosityEffect). The broadcast must be implemented in the plugin for the notification to work.

#define NOTIFY_LIGHTING_UNIT_DISPLAY_SYSTEM_CHANGE   0x0000005C

Sent when lighting unit display system is changed.

#define NOTIFY_BEGIN_RENDERING_REFLECT_REFRACT_MAP   0x0000005D

Sent when starting to render a reflect/refract map.

#define NOTIFY_BEGIN_RENDERING_ACTUAL_FRAME   0x0000005E

Sent when starting to render the full frame.

#define NOTIFY_BEGIN_RENDERING_TONEMAPPING_IMAGE   0x0000005F

Sent when starting to render a tone-mapping image.

#define NOTIFY_RADIOSITY_PLUGIN_CHANGED   0x00000060

Sent when the radiosity plugin is changed (a new one is assigned)

#define NOTIFY_SCENE_UNDO   0x00000061

Sent on scene undo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the undo entry name).

#define NOTIFY_SCENE_REDO   0x00000062

Sent on scene redo (NotifyInfo::callParam is a pointer to a string (MCHAR*) with the redo entry name).

#define NOTIFY_MANIPULATE_MODE_OFF   0x00000063

Sent when manipulate mode ends.

#define NOTIFY_MANIPULATE_MODE_ON   0x00000064

Sent when manipulate mode starts.

#define NOTIFY_SCENE_XREF_PRE_MERGE   0x00000065

Sent before an XRef scene is merged.

#define NOTIFY_SCENE_XREF_POST_MERGE   0x00000066

Sent after an XRef scene is successfully merged (NotifyInfo::callParam is a INode* pointer to the scene XRef tree).

#define NOTIFY_OBJECT_XREF_PRE_MERGE   0x00000067

Sent before an XRef object is merged.

#define NOTIFY_OBJECT_XREF_POST_MERGE   0x00000068

Sent after an XRef object is successfully merged.

#define NOTIFY_PRE_MIRROR_NODES   0x00000069

Sent before a mirror operation begins.

NotifyInfo::callParam is a pointer to Tab<INode*> consisting of the nodes currently in the selection list that the mirror tool is to be applied to.

#define NOTIFY_POST_MIRROR_NODES   0x0000006A

Sent after a mirror operation ends.

NotifyInfo::callParam is a pointer to Tab<INode*> consisting of the nodes currently in the selection list that the mirror tool is to be applied to.

#define NOTIFY_NODE_CLONED   0x0000006B

Sent after a node is cloned but before theHold.Accept(..) (NotifyInfo::callParam is a pointer to the node).

#define NOTIFY_PRE_NOTIFYDEPENDENTS   0x0000006C

Sent before NotifyDependents from outside the recursion.

that is, not during the traversal of reference targets

#define NOTIFY_POST_NOTIFYDEPENDENTS   0x0000006D

Sent after NotifyDependents from outside the recursion.

That is, not during the traversal of reference targets

#define NOTIFY_MTL_REFADDED   0x0000006E

Sent by Mtl::RefAdded(). NotifyInfo::callParam is a Mtl pointer.

#define NOTIFY_MTL_REFDELETED   0x0000006F

Sent by Mtl::FefDeleted(). NotifyInfo::callParam is a Mtl pointer.

#define NOTIFY_TIMERANGE_CHANGE   0x00000070

Sent after the animate time range has been changed.

#define NOTIFY_PRE_MODIFIER_ADDED   0x00000071

Sent before a modifier is added to an object.

The NotifyInfo structure pointer callParam is passed a pointer to a struct{ INode* node; Modifier* mod; ModContext* mc;}.

#define NOTIFY_POST_MODIFIER_ADDED   0x00000072

Sent after a modifier is added to an object.

The NotifyInfo structure pointer callParam is passed a pointer to a struct{ INode* node; Modifier* mod; ModContext* mc;}.

#define NOTIFY_PRE_MODIFIER_DELETED   0x00000073

Sent before a modifier is deleted from an object.

The NotifyInfo structure pointer callParam is passed a pointer to a struct{ INode* node; Modifier* mod; ModContext* mc;}.

#define NOTIFY_POST_MODIFIER_DELETED   0x00000074

Sent after a modifier is deleted from an object.

The NotifyInfo structure pointer callParam is passed a pointer to a struct{ INode* node; Modifier* mod; ModContext* mc;}.

#define NOTIFY_FILELINK_POST_RELOAD_PRE_PRUNE   0x00000085

Sent after all of the new objects for a reload have been created.

But, before any objects have been deleted.

#define NOTIFY_PRE_NODES_CLONED   0x00000086

Sent before each set of clones is created.

For example, if there are N nodes cloned C times, the notification is sent C times. The NotifyInfo::callParam for NOTIFY_PRE_NODES_CLONED is a pointer to the array of nodes that will be cloned (the original nodes): INodeTab* origNodes

#define NOTIFY_POST_NODES_CLONED   0x00000087

Sent after each set of clones is created.

For example, if there are N nodes cloned C times, the notification is sent C times. The NotifyInfo::callParam for NOTIFY_POST_NODES_CLONED is a pointer to this struct: struct{ INodeTab* origNodes; INodeTab* clonedNodes; CloneType cloneType;}

#define NOTIFY_POST_MERGE_PROCESS   0x00000088
Deprecated:
Deprecated as of 3ds Max 2020, notification is never sent.
#define NOTIFY_SYSTEM_PRE_DIR_CHANGE   0x00000089

Sent before a system path changes.

Originally intended to notify the tool palette if the Catalog's dir changes from the Configure Path dialog.

#define NOTIFY_SYSTEM_POST_DIR_CHANGE   0x0000008A

Sent after a system path has changed.

Originally intended to notify the tool palette if the Catalog's dir changes from the Configure Path dialog.

#define NOTIFY_SV_SELECTIONSET_CHANGED   0x0000008C

Schematic view notification.

NotifyInfo::callParam is a pointer to the index of the schematic view (int*)

#define NOTIFY_SV_DOUBLECLICK_GRAPHNODE   0x0000008D

Schematic view notification.

NotifyInfo::callParam is IGraphNode*

#define NOTIFY_PRE_RENDERER_CHANGE   0x0000008E

Sent before the renderer changes.

NotifyInfo::callParam is the RenderSettingID enum value as an (int)

#define NOTIFY_POST_RENDERER_CHANGE   0x0000008F

Sent after the renderer changes.

NotifyInfo::callParam is the RenderSettingID enum value as an (int)

#define NOTIFY_SV_PRE_LAYOUT_CHANGE   0x00000090

Sent before a schematic view layout change is made.

NotifyInfo::callParam is a pointer to the index of the schematic view (int*)

#define NOTIFY_SV_POST_LAYOUT_CHANGE   0x00000091

Sent after a schematic view layout change is made.

NotifyInfo::callParam is a pointer to the index of the schematic view (int*)

#define NOTIFY_BY_CATEGORY_DISPLAY_FILTER_CHANGED   0x00000092

Sent AFTER object categories were marked to be hidden/unhidden.

Clients registered for this notification can retrieve the categories whose hidden state have changed by retrieving the category flags by calling DWORD Interface::GetHideByCategoryFlags()

#define NOTIFY_CUSTOM_DISPLAY_FILTER_CHANGED   0x00000093

Sent AFTER custom display filters have been activated/deactivated.

Results in changes to some objects hidden state. Clients registered for this notification can retrieve the active custom display filters by checking their On/Off state using BOOL Interface::GetDisplayFilter(int index)

#define NOTIFY_LAYER_CREATED   0x00000094

Sent after a layer is added to layer manager.

NotifyInfo::callParam is a pointer to ILayer.

#define NOTIFY_LAYER_DELETED   0x00000095

Sent before layer is removed from layer manager; NotifyInfo::callParam is a pointer to ILayer.

#define NOTIFY_NODE_LAYER_CHANGED   0x00000096

NotifyInfo::callParam is a pointer to struct { INode* node; ILayer* oldLayer; ILayer* newLayer;}.

newLayer and oldLayer can be NULL when switching between layers, during create, and when loading files Layers may not be present in layer manager when sent during file load/merge

#define NOTIFY_TABBED_DIALOG_CREATED   0x00000097

Sent when a tabbed dialog is created.

NotifyInfo::callParam is point to the dialogID (Class_ID).

#define NOTIFY_TABBED_DIALOG_DELETED   0x00000098

Sent when a tabbed dialog is deleted.

NotifyInfo::callParam is a pointer to the dialogID (Class_ID).

#define NOTIFY_NODE_NAME_SET   0x00000099

Sent by BaseNode::SetName.

NotifyInfo::callParam is pointer to struct{ const MCHAR* oldname; const MCHAR* newname; INode* node}

#define NOTIFY_HW_TEXTURE_CHANGED   0x0000009A

Sent by the Material Editor when the "use texture in hardware shader" button is pressed.

#define NOTIFY_MXS_STARTUP   0x0000009B

Sent by MAXScript during its initialization.

Occurs immediately before it scans the registered plugin classes and wraps them in MAXClass values any runtime defined classes created in this callback will be detected by MXS any core interfaces installed in this callback will be detected by MXS

#define NOTIFY_MXS_POST_STARTUP   0x0000009C

Sent by MAXScript when it has completed its initialization.

#define NOTIFY_ACTION_ITEM_HOTKEY_PRE_EXEC   0x0000009D

Sent before an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*.

#define NOTIFY_ACTION_ITEM_HOTKEY_POST_EXEC   0x0000009E

Sent after an action item is executed via a keyboard shortcut (hotkey). NotifyInfo::callParam is ActionItem*.

#define NOTIFY_SCENESTATE_PRE_SAVE   0x0000009F

Sent before a Scene State is saved.

#define NOTIFY_SCENESTATE_POST_SAVE   0x000000A0

Sent after a Scene State is saved.

#define NOTIFY_SCENESTATE_PRE_RESTORE   0x000000A1

Sent before a Scene State is restored.

#define NOTIFY_SCENESTATE_POST_RESTORE   0x000000A2

Sent after a Scene State is restored.

#define NOTIFY_SCENESTATE_DELETE   0x000000A3

Sent after a Scene State is deleted.

#define NOTIFY_SCENE_PRE_UNDO   0x000000A5

Sent before an Undo starts.

#define NOTIFY_SCENE_PRE_REDO   0x000000A6

Sent before a Redo starts.

Allows a developer to get an accurate picture of what the undo/redo is doing, and not having to rely on calling RestoreOrRedoing(). This solves a problem of evaluating a node during an undo when the hold system was active, but wasn't initiated from either script or the UI. An example is right- clicking to cancel object creation

#define NOTIFY_SCENE_POST_UNDO   NOTIFY_SCENE_UNDO

Sent to make the previous undo notification more explicit, and match the PRE_UNDO.

#define NOTIFY_SCENE_POST_REDO   NOTIFY_SCENE_REDO

Sent to make the previous undo notification more explicit, and match the PRE_UNDO.

#define NOTIFY_MXS_SHUTDOWN   0x000000A7

Sent when MAXScript has been shut down.

No access to any MXS value should be made after this notification, including calls to event handlers

#define NOTIFY_D3D_PRE_DEVICE_RESET   0x000000A8

This is sent by the D3D GFX (Dx9) when a device reset is going to happen.

This can allow Hardware shader to release their resources allocated in the DEFAULT_POOL

#define NOTIFY_D3D_POST_DEVICE_RESET   0x000000A9

This is sent by the D3D GFX (Dx9) when a device reset has happened.

This can allow Hardware shader to release their resources allocated in the DEFAULT_POOL

#define NOTIFY_TOOLPALETTE_MTL_SUSPEND   0x000000AA

Used to suspend material change tracking in VIZ.

In VIZ, the tool palette system listens for additions and removals to the scene material library and tracks reference additions and removals to existing materials. Upon resumption, the scene material lib will be traversed and changes reflected in the palette.

#define NOTIFY_TOOLPALETTE_MTL_RESUME   0x000000AB

Used to resume material change tracking in VIZ.

In VIZ, the tool palette system listens for additions and removals to the scene material library and tracks reference additions and removals to existing materials. Upon resumption, the scene material lib will be traversed and changes reflected in the palette.

#define NOTIFY_CLASSDESC_REPLACED   0x000000AC

Provides a notification that a ClassDesc is being replaced by another one.

This occurs when the dll containing a deferred loaded plugin is loaded. NotifyInfo::callParam is pointer to struct{ const ClassDesc *oldClassDesc; const ClassDesc *newClassDesc; }. See struct ClassDescReplaced in plugapi.h

#define NOTIFY_FILE_PRE_OPEN_PROCESS   0x000000AD
#define NOTIFY_FILE_POST_OPEN_PROCESS   0x0000008B
#define NOTIFY_FILE_PRE_SAVE_PROCESS   0x000000AE
#define NOTIFY_FILE_POST_SAVE_PROCESS   0x000000AF
#define NOTIFY_CLASSDESC_LOADED   0x000000B0

Sent after a ClassDesc was successfully loaded from a plugin dll.

Remarks
For each non NULL class descriptor returned by a plugin's ClassDesc* LibClassDesc(int i) method, the system broadcasts this notification. The call parameter will be a pointer to the ClassDesc.
See also
Required DLL Functions
#define NOTIFY_TOOLBARS_PRE_LOAD   0x000000B1

This provides a notification that a toolbar configuration is being loaded, prior to load.

NotifyInfo::callParam is a pointer to a string (MCHAR*) and is NULL if the default file is being loaded, or the full path to the file being loaded

#define NOTIFY_TOOLBARS_POST_LOAD   0x000000B2

This provides a notification that a toolbar configuration is being loaded, after the load.

NotifyInfo::callParam is a pointer to a string (MCHAR*) and is NULL if the default file is being loaded, or the full path to the file being loaded

#define NOTIFY_ATS_PRE_REPATH_PHASE   0x000000B3

Sent before the ATS traversal starts.

#define NOTIFY_ATS_POST_REPATH_PHASE   0x000000B4

Sent after the ATS traversal completes.

#define NOTIFY_PROXY_TEMPORARY_DISABLE_START   0x000000B5
#define NOTIFY_PROXY_TEMPORARY_DISABLE_END   0x000000B6
#define NOTIFY_FILE_CHECK_STATUS   0x000000B7

Allows a plugin to query the system for the status of the file before max saves the max scene file.

NotifyInfo::callParam is a pointer to a struct {const MCHAR* szFilename; int iStatus; }. Plugins that register for this notification can add to the iStatus member as needed, but should not clear any bits already in iStatus. Valid status masks for iStatus are defined below in this file. Look for FILE_STATUS_xxxxx. This is only sent when a scene is saved normally, not for a hold/fetch nor for an autosave.

#define NOTIFY_NAMED_SEL_SET_CREATED   0x000000B8

Sent when a Named selection set is created either in the UI, or via maxscript.

NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the created named set.

#define NOTIFY_NAMED_SEL_SET_DELETED   0x000000B9

Sent when a Named selection set is deleted either in the UI, or via maxscript.

NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the deleted named set.

#define NOTIFY_NAMED_SEL_SET_PRE_MODIFY   0x000000CA

The following notification will be sent when the node set of a named selection set begins to be changed.

For e.g., add/remove nodes to/from a named selection set,or completely replace the node set of a named selection set.

NotifyInfo::callParam is a pointer to a string (const MCHAR*) of the name of the modified named set.

Note
When modifying a specified named selection set, it will first be deleted then created with the same name when deleted. So both NOTIFY_NAMED_SEL_SET_CREATED and NOTIFY_NAMED_SEL_SET_DELETED will be broadcast during this process. In order to stress that this is a modification to an existing named selection set rather than two irrelevant operations as deleting one set then creating another set, we send two additional notifications as NOTIFY_NAMED_SEL_SET_PRE_MODIFY and NOTIFY_NAMED_SEL_SET_POST_MODIFY in the very beginning and ending of a modification to a named set. For users who needs to be informed of a modification of a named set, they should register to these two notifications and ignore only NOTIFY_NAMED_SEL_SET_DELETED and NOTIFY_NAMED_SEL_SET_CREATED(even this applies to the current state of the code) that is received between the pair of NOTIFY_NAMED_SEL_SET_PRE_MODIFY and NOTIFY_NAMED_SEL_SET_POST_MODIFY.
#define NOTIFY_NAMED_SEL_SET_POST_MODIFY   0x000000CB

The following notification will be sent when the node set of a named selection set has been changed.

NotifyInfo::callParam is a pointer to the struct NameChange of the changed named set.

#define NOTIFY_MODPANEL_SUBOBJECTLEVEL_CHANGED   0x000000BA

Sent when the sub-object level changes in the modify panel.

#define NOTIFY_FAILED_DIRECTX_MATERIAL_TEXTURE_LOAD   0x000000BB

Sent when a bitmap fails to load in the DirectX Shader Material.

This is usually when DirectX does not support the file format. The developer can register for this notification so that they can convert the the format into a DirectX texture resource. The developer is responsible for maintaining this resource, and can register for NOTIFY_D3D_POST_DEVICE_RESET to release and rebuild the resource on Lost device situations The callParam is a struct{ const MCHAR * fileName, const MCHAR* paramName, Mtl* dxMaterial, bool forceUpdate} From the material the developer can access the IEffectParser and use LoadTexture using the paramName. The forceUpdate will be set if this was an auto update of the bitmap from disk, or the user hit the reload button from the UI. The developer will need to release and rebuild the bitmap under these situations.

#define NOTIFY_RENDER_PREEVAL_FRAMEINFO   0x000000BC

Sent just after NOTIFY_RENDER_PREEVAL.

NotifyInfo::callParam is a NotifyPreEval_FrameInfo*, defined at the bottom of this header file. Sent before the render start evaluating objects.

Note
This message is sent ONLY when using the mental ray renderer. It is NOT sent when using the scanline renderer.
#define NOTIFY_POST_SCENE_RESET   0x000000BD

Sent just after deleting all refs in existing scene.

This notification is sent after wiping the existing scene. Examples of when this occurs is immediately before loading in the new scene from a file, and when doing a file new

#define NOTIFY_ANIM_LAYERS_ENABLED   0x000000BE

Sent just after animation layers are enabled on some nodes in the scene.

This notification is sent after layers are enabled, and new layer controller constructed. NotifyInfo::callParam is a pointer to the nodes which are having animation layers enabled.

#define NOTIFY_ANIM_LAYERS_DISABLED   0x000000BF

Sent just after animation layers are disabled on some nodes in the scene.

This notification is sent after layers are disabled on some nodes, and the layer ends up deleted. NotifyInfo::callParam is a pointer to the nodes which are having animation layers disabled.

#define NOTIFY_ACTION_ITEM_PRE_START_OVERRIDE   0x000000C0

Sent just before an action item is overridden and IActionItemOverride::StartOveride is called.

NotifyInfo::callParam is a pointer to the ActionItem.

#define NOTIFY_ACTION_ITEM_POST_START_OVERRIDE   0x000000C1

Sent just after an action item is overridden and after IActionItemOverride::StartOveride is called.

NotifyInfo::callParam is a pointer to the ActionItem.

#define NOTIFY_ACTION_ITEM_PRE_END_OVERRIDE   0x000000C2

Sent just before an action item finishes it's override and IActionItemOverride::EndOverride is called.

NotifyInfo::callParam is a pointer to the ActionItem.

#define NOTIFY_ACTION_ITEM_POST_END_OVERRIDE   0x000000C3

Sent just after an action item finishes it's override and after IActionItemOverride::EndOverride is called. */.

NotifyInfo::callParam is a pointer to the ActionItem.

#define NOTIFY_PRE_NODE_GENERAL_PROP_CHANGED   0x00000075

Sent before an INode's general property is changed.

#define NOTIFY_POST_NODE_GENERAL_PROP_CHANGED   0x00000076

Sent After an INode's general property is changed.

#define NOTIFY_PRE_NODE_GI_PROP_CHANGED   0x00000077

Sent before an INode's global illumination property is changed.

#define NOTIFY_POST_NODE_GI_PROP_CHANGED   0x00000078

Sent after an INode's global illumination property is changed.

#define NOTIFY_PRE_NODE_MENTALRAY_PROP_CHANGED   0x00000079

Sent before an INode's mental ray property is changed.

#define NOTIFY_POST_NODE_MENTALRAY_PROP_CHANGED   0x00000080

Sent after an INode's mental ray illumination property is changed.

#define NOTIFY_PRE_NODE_BONE_PROP_CHANGED   0x00000081

Sent before an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

#define NOTIFY_POST_NODE_BONE_PROP_CHANGED   0x00000082

Sent after an INode's bone property is changed.

Note that bone properties can only be changed through a function published interface. Thus it is called on a per node basis, and not on a collection of INodes. Therefore while the callParam for the notification may return an INodeTab for legacy compatibility, the INodeTab will always only contain one object, not multiple objects. Note: This event will not broadcast for transform matrix changes.

#define NOTIFY_PRE_NODE_USER_PROP_CHANGED   0x00000083

Sent before an INode's user property is changed.

#define NOTIFY_POST_NODE_USER_PROP_CHANGED   0x00000084

Sent after an INode's user property is changed.

#define NOTIFY_PRE_NODE_RENDER_PROP_CHANGED   0x000000C4

Sent before an INode's render property is changed.

#define NOTIFY_POST_NODE_RENDER_PROP_CHANGED   0x000000C5

Sent after an INode's render property is changed.

#define NOTIFY_PRE_NODE_DISPLAY_PROP_CHANGED   0x000000C6

Sent before an INode's display property is changed.

#define NOTIFY_POST_NODE_DISPLAY_PROP_CHANGED   0x000000C7

Sent after an INode's display property is changed.

#define NOTIFY_PRE_NODE_BASIC_PROP_CHANGED   0x000000C8

Sent before an INode's basic property is changed.

#define NOTIFY_POST_NODE_BASIC_PROP_CHANGED   0x000000C9

Sent after an INode's basic property is changed.

#define NOTIFY_SELECTION_LOCK   0x000000D0

Sent when selection lock is triggered. */.

NotifyInfo::callParam is NULL.

#define NOTIFY_SELECTION_UNLOCK   0x000000D1

Sent when selection unlock is triggered. */.

NotifyInfo::callParam is NULL.

#define NOTIFY_PRE_IMAGE_VIEWER_DISPLAY   0x000000D2

Sent when an image viewer (including the rendered frame window) is opened, before it becomes visible. */.

NotifyInfo::callParam is an FPValue, whose fpi member (of type FPInterface*) points to an interface to the VFB. The interface is intended for use only in MaxScript. Note the interface object will be destroyed when the VFB is closed. The interface object may be used to add rollouts to the window in MaxScript.

#define NOTIFY_POST_IMAGE_VIEWER_DISPLAY   0x000000D3

Sent when an image viewer (including the rendered frame window) is opened, after it becomes visible. */.

NotifyInfo::callParam is an FPValue, whose fpi member (of type FPInterface*) points to an interface to the VFB. The interface is intended for use only in MaxScript. Note the interface object will be destroyed when the VFB is closed.

#define NOTIFY_IMAGE_VIEWER_UPDATE   0x000000D4

Sent by an image viewer (or the rendered frame window) to request that its custom rollouts update their UI. */.

NotifyInfo::callParam is an FPValue, whose fpi member (of type FPInterface*) points to an interface to the VFB. The interface is intended for use only in MaxScript. Note the interface object will be destroyed when the VFB is closed.

#define NOTIFY_CUSTOM_ATTRIBUTES_ADDED   0x000000D5

Sent after a custom attribute is added to an Animatable.

#define NOTIFY_CUSTOM_ATTRIBUTES_REMOVED   0x000000D6

Sent after a custom attribute is removed from an Animatable.

#define NOTIFY_OS_THEME_CHANGED   0x000000D7

Sent after OS theme has been changed.

#define NOTIFY_ACTIVE_VIEWPORT_CHANGED   0x000000D8

Sent when the current active viewport is changed.

Typically this notification is sent when the user has switched viewports. To get notifications of any other type of viewport change, please use NOTIFY_VIEWPORT_CHANGE

#define NOTIFY_PRE_MAXMAINWINDOW_SHOW   0x000000DB

NOTIFY_PRE_MAXMAINWINDOW_SHOW is being sent when main window of 3ds Max is about to show.

#define NOTIFY_POST_MAXMAINWINDOW_SHOW   0x000000DC

NOTIFY_POST_MAXMAINWINDOW_SHOW is being sent immediately after the main window of 3ds Max is shown.

#define NOTIFY_CLASSDESC_ADDED   0x000000DD

Provides a notification that a new ClassDesc is being registered.

This occurs when dlls containing plugins are loaded, and when a ClassDesc is dynamically created and registered with 3ds Max (for example, when a scripted plugin is defined). When loading a dll containing plugins, for each plugin you will get a NOTIFY_CLASSDESC_LOADED notification followed by a NOTIFY_CLASSDESC_ADDED notification. When a ClassDesc is dynamically created and registered with 3ds Max, you will get just a NOTIFY_CLASSDESC_ADDED notification. CallParam is pointer to ClassDesc

#define NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN   0x000000DE

NOTIFY_OBJECT_DEFINITION_CHANGE_BEGIN is sent immediately before object instances are updated to a new object definition.

MAXScript allows scripted plugin and scripted custom attribute definitions to be updated by re-evaluating the definition script. The new definition can add or remove local variables, parameter blocks, parameter block items, rollouts, and rollout controls. After the new definition is evaluated, existing plugin instances are converted to this new definition. This notification is sent immediately before the instances are converted to the new definition. The NotifyInfo structure pointer callParam is passed a pointer to a ObjectDefinitionChangeNotificationParam struct instance. Currently the only valid type value is kScriptedPlugin, which signifies a scripted plugin/custom attribute class description, and the definition is a pointer to ClassDesc2 A plugin may use this notification to, for example, control the rebuilding of rollout displays for instances of the plugins using the definition.

See also
REFMSG_OBJECT_DEFINITION_CHANGE_BEGIN, ObjectDefinitionChangeNotificationParam
#define NOTIFY_OBJECT_DEFINITION_CHANGE_END   0x000000DF

NOTIFY_OBJECT_DEFINITION_CHANGE_END is sent immediately after object instances are updated to a new object definition.

MAXScript allows scripted plugin and scripted custom attribute definitions to be updated by re-evaluating the definition script. The new definition can add or remove local variables, parameter blocks, parameter block items, rollouts, and rollout controls. After the new definition is evaluated, existing plugin instances are converted to this new definition. This notification is sent immediately after the instances are converted to the new definition. The NotifyInfo structure pointer callParam is passed a pointer to a ObjectDefinitionChangeNotificationParam struct instance. Currently the only valid type value is kScriptedPlugin, which signifies a scripted plugin/custom attribute class description, and the definition is a pointer to ClassDesc2 A plugin may use this notification to, for example, control the rebuilding of rollout displays for instances of the plugins using the definition.

See also
REFMSG_OBJECT_DEFINITION_CHANGE_END, ObjectDefinitionChangeNotificationParam
#define NOTIFY_MTLBASE_PARAMDLG_PRE_OPEN   0x000000E0

Sent when a MtlBase is about to show its UI with Associated parameter rollouts when being edited in a material editor.

NotifyInfo::callParam is a pointer to the MtlBase that is about to show its UI.

#define NOTIFY_MTLBASE_PARAMDLG_POST_CLOSE   0x000000E1

Sent when a MtlBase has finished its editing in the material editor and the UI with Associated parameter rollouts have been closed.

NotifyInfo::callParam is a pointer to the MtlBase that has closed its UI.

#define NOTIFY_PRE_APP_FRAME_THEME_CHANGED   0x000000E2

Sent before the application theme is changed via IColorManager::SetAppFrameColorTheme().

NotifyInfo::callParam is NULL.

#define NOTIFY_APP_FRAME_THEME_CHANGED   0x000000E3

Sent when the application theme is changed via IColorManager::SetAppFrameColorTheme().

NotifyInfo::callParam is NULL.

#define NOTIFY_PRE_VIEWPORT_DELETE   0x000000E4

Sent before a viewport is deleted. It usually occurs when removing a view tab.

NotifyInfo::callParam is the HWND of the viewport to be deleted.

#define NOTIFY_PRE_WORKSPACE_CHANGE   0x000000E5

Sent before a CUI workspace is about to change NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI is changing to.

#define NOTIFY_POST_WORKSPACE_CHANGE   0x000000E6

Sent after a CUI workspace has changed NotifyInfo::callParam is a pointer to a string (MCHAR*), containing the name of the workspace the CUI has changed to.

#define NOTIFY_PRE_WORKSPACE_COLLECTION_CHANGE   0x000000E7

Sent before the collection of system workspaces is about to change.

#define NOTIFY_POST_WORKSPACE_COLLECTION_CHANGE   0x000000E8

Sent after the collection of system workspaces has changed.

#define NOTIFY_KEYBOARD_SETTING_CHANGED   0x000000E9

Sent after keyboard short-cut setting file(*.kbd) has changed.

For example, loading/saving a new keyboard setting file.

#define NOTIFY_MOUSE_SETTING_CHANGED   0x000000EA

Sent after mouse setting file has changed.

For example, loading/saving a new mouse setting file.

#define NOTIFY_TOOLBARS_PRE_SAVE   0x000000EB

This provides a notification that a toolbar configuration is being saved, prior to save.

NotifyInfo::callParam is a pointer to a string (MCHAR*), which is NULL for the default save file, or the full path to the file being saved.

#define NOTIFY_TOOLBARS_POST_SAVE   0x000000EC

This provides a notification that a toolbar configuration is being saved, after the save.

NotifyInfo::callParam is a pointer to a string (MCHAR*), which is NULL for the default save file, or the full path to the file being saved.

#define NOTIFY_APP_ACTIVATED   0x000000ED

Called when the main application window is activated.

Note this message is called every time the main window is activated. Use with caution. If the intention is to do something on system startup, consider NOTIFY_SYSTEM_STARTUP instead. This message is likely called before NOTIFY_SYSTEM_STARTUP, but it is not guaranteed that the application is in a ready/idle state at that point.

#define NOTIFY_APP_DEACTIVATED   0x000000EE

Called when the main application window is deactivated.

Note this message is called every time the main window is deactivated. Use with caution. If the intention is to do something on system shutdown, consider NOTIFY_SYSTEM_SHUTDOWN instead.

#define NOTIFY_CUI_MENUS_UPDATED   0x000000EF

Called when the main application menu bar is updated.

This is called whenever a change to the menu is done via any mechanism including via the CUI dialog or Maxscript. During the loading of a menu this notification is only raised at the very end of the load, once.

#define NOTIFY_CUI_MENUS_PRE_SAVE   0x000000F0

Called before the main application menu bar is saved.

NotifyInfo::callParam is a pointer to a string (MCHAR*) - the full path to the file being saved.

#define NOTIFY_CUI_MENUS_POST_SAVE   0x000000F1

Called after the main application menu bar is saved.

NotifyInfo::callParam is a pointer to a string (MCHAR*) - the full path to the file being saved.

#define NOTIFY_VIEWPORT_SAFEFRAME_TOGGLE   0x000000F2

Called after the safe frame has been toggled for the viewport.

Parameters
int- nonzero if the safe frame is displayed in the viewport; otherwise 0
Note
This sets a dirty flag on the view and some values on the ViewExp class might take a message pump to make sense with this update.
#define NOTIFY_PLUGINS_PRE_SHUTDOWN   0x000000F3

Sent during shutdown immediately before DllDesc::CallShutdown is called on all plugin dlls.

#define NOTIFY_PLUGINS_PRE_UNLOAD   0x000000F4

Sent during shutdown immediately before DllDesc::Unload is called on all plugin dlls.

#define NOTIFY_CUI_MENUS_POST_LOAD   0x000000F5

Called after a menu file has been loaded and the menu bar updated.

Clients registered for this notification could add their own menu or menu item to the currently loaded set of menus. NotifyInfo::callParam is a pointer to a string (MCHAR*), which is the full path to the file that was loaded.

#define NOTIFY_LAYER_PARENT_CHANGED   0x000000F6

Sent after the parent of a layer was changed.

NotifyInfo::callParam is a pointer on the struct LayerParentChange {ILayer *layerChanged;ILayer *oldParent;};. layerChanged is the pointer on the layer that has changed parent. oldParent is the pointer on the old parent of the layer. The new parent can easily be obtained by calling layerChanged.GetParentLayer(). The new parent can be NULL, which mean that the layer is at the top level.

#define NOTIFY_ACTION_ITEM_EXECUTION_STARTED   0x000000F7

Sent when an action item starts executing.

This notification is sent without regard of how the action item was invoked (hot-key, menu item, toolbar button, etc). NotifyInfo::callParam is a pointer to the ActionItem instance.

#define NOTIFY_ACTION_ITEM_EXECUTION_ENDED   0x000000F8

Sent when an action item finished executing.

This notification is sent without regard of how the action item was invoked (hot-key, menu item, toolbar button, etc). NotifyInfo::callParam is a pointer to the ActionItem instance.

#define NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED   0x000000F9

Sent when the user starts creating a plug-in instance.

Examples of when this notification is sent include interactive creation of objects via the Create and Modify panels or the main menu. This notification is not sent when plug-in instances are created programmatically (SDK, Maxscript, python etc). NotifyInfo::callParam is a pointer to the ClassDesc instance describing the plug-in whose instance is created.

#define NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_ENDED   0x000000FA

Sent when the user ends creating a plug-in instance.

This notification is not sent when plug-in instances are created programmatically (SDK, Maxscript, python etc). NotifyInfo::callParam is a pointer to the ClassDesc instance describing the plug-in whose instance has been created. See NOTIFY_INTERACTIVE_PLUGIN_INSTANCE_CREATION_STARTED.

#define NOTIFY_FILE_POST_MERGE2   0x000000FB

Sent after a file is merged successfully - right after NOTIFY_FILE_POST_MERGE. NotifyInfo::callParam is a pointer to.

#define NOTIFY_POST_NODE_SELECT_OPERATION   0x000000FC

Sent after the system Node Selection Processor has finished selecting nodes.

#define NOTIFY_PRE_VIEWPORT_TOOLTIP   0x000000FD

Sent before viewport tooltip pops. NotifyInfo::callParam is a INode* to the tip node.

#define NOTIFY_WELCOMESCREEN_DONE   0x000000FE

Sent once initial welcome screen is done (either it did not show or it has been closed).

#define NOTIFY_PLAYBACK_START   0x000000FF
#define NOTIFY_PLAYBACK_END   0x00000100
#define NOTIFY_SCENE_EXPLORER_NEEDS_UPDATE   0x00000101

Sent if the scene explorer needs to refresh its display.

#define NOTIFY_FILE_POST_OPEN_PROCESS_FINALIZED   0x00000102

Sent at the very end of the load sequence, note that any animatables created by the scene load may have been deleted by this point.

#define NOTIFY_FILE_POST_MERGE_PROCESS_FINALIZED   0x00000103

Sent at the very end of the merge sequence, note that any animatables created by the scene merge may have been deleted by this point.

#define NOTIFY_PRE_PROJECT_FOLDER_CHANGE   0x00000104

Sent before project folder is changed.

#define NOTIFY_POST_PROJECT_FOLDER_CHANGE   0x00000105

Sent after project folder is changed.

#define NOTIFY_PRE_MXS_STARTUP_SCRIPT_LOAD   0x00000106

Sent immediately before MAXScript loads its startup scripts. stdscripts will have already been read.

#define NOTIFY_ACTIVESHADE_IN_VIEWPORT_TOGGLED   0x00000107

Sent when ActiveShade in the viewport is toggled on/off.

#define NOTIFY_SYSTEM_SHUTDOWN_CHECK   0x00000108

Sent when potentially starting to shut 3ds Max down, before checking for things that can cancel the shutdown, such as scene dirty or ExitMAXCallback callback object returning false.

#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_FAILED   0x00000109

Sent if system shutdown was cancelled.

#define NOTIFY_SYSTEM_SHUTDOWN_CHECK_PASSED   0x0000010A

Sent if system shutdown was not cancelled. and system shutdown is about to start.

#define NOTIFY_INTERNAL_USE_START   0x70000000
#define PRE_NEW_NEW_ALL   0x1

All objects are deleted, including their animation data.

#define PRE_NEW_KEEP_OBJECTS   0x2
Deprecated:
Deprecated as of 3ds Max 2019.1, use PRE_NEW_NEW_ALL instead.
#define PRE_NEW_KEEP_OBJECTS_AND_HIERARCHY   0x3
Deprecated:
Deprecated as of 3ds Max 2019.1, use PRE_NEW_NEW_ALL instead.
#define FILE_PROCESS_SCENE   0x1
#define FILE_PROCESS_HOLD_FETCH   0x2
#define FILE_PROCESS_AUTOBAK   0x3
#define FILE_STATUS_READONLY   0x1
#define NOTIFY_SCENESTATE_RENAME   0x000000A4

Sent after a Scene State is renamed.

NotifyInfo::callParam is pointer to struct{ const MCHAR* oldname; const MCHAR* newname; }

#define NOTIFY_NAMED_SEL_SET_RENAMED   0x000000BC

Sent when a Named selection set name is changed, either in the old UI, or via maxscript.

NotifyInfo::callParam is a pointer to the struct NameChange of the changed named set.