Message System

Send and receive messages to react to system events, actions on scene elements and events in user interfaces.

Overview

Messages are a core principal of the classic API of Cinema 4D and fulfill an event-like purpose. Various interfaces in the classic API have methods attached to them which are linked to the message system. A message is always denoted by an identifier, e.g., MSG_DESCRIPTION_EDIT_ENTRY, which does signify the message event to the object it is being send to. Messages can also be accompanied by ingoing or outgoing message data which does qualify that event. This message data can consist out of multiple elements and is usually wrapped as a dictionary in the Python API.

The message data that is related to a message can be treated in an in- or outgoing fashion or both. The message MSG_DESCRIPTION_EDIT_ENTRY will be broadcasted with a dictionary containing the DescID for the element which did raise that message. Attempting to modify this DescID or returning modified message data will have no effect on the DescID of the raising element, the data is only ingoing. Other message events will however explicitly being sent with the intent that the recipient does modify or complement the data. MSG_GETCUSTOMICON for example is being sent so that a NodeData.Message() instance can return a specific icon for the associated node with the returned message data.

Technical Overview

There are three major categories of messages in Cinema 4D: Core messages, messages to scene elements, and messages to dialogs and custom interface elements. Message to C4DAtom instances, e.g., objects, tags, or other scene elements, are being sent with C4DAtom.Message(). When the message identifier sent to an atom is being supported by the atom type and the message data is well formed, then the message will invoke a certain action in the atom as documented by the message symbols below. Sending MSG_UPDATE to a PointObject will for example force a point object to update all its internal data that does rely on the vertices of the point object. The handling of messages sent to C4DAtom instances plays a fundamental role when implementing plugin interfaces, e.g., c4d.ObjectData, c4d.TagData or c4d.ShaderData. Listening for MSG_DESCRIPTION_COMMAND in the Message method of an ObjectData interface will allow for example to react on button clicks in the description interface of the corresponding BaseObject instances of that type.

Core messages are a message category that is related to global system wide events; as opposed to the messages sent to C4DAtom instances which only affect a single atom. Core messages can be invoked among other functions with c4d.SendCoreMessage() and c4d.GeSyncMessage() and received with MessageData, GeDialog and GeUserArea instances by overwriting their CoreMessage methods. Core messages convey broad events as for example enforcing redraw event or reacting on the modification of the active document.

A third category of messages is received by GeDialog and GeUserArea instances in their Message methods. The messages received here differ from those broadcasted to the Message methods of C4DAtom instances. These messages only rarely have to be sent by users and instead are primarily intended to react to events in the respective user interface, e.g., a mouse or key press event. These messages also do play an important role in the execution of the event loop of such GUI elements, e.g., sending BFM_DRAW to a GeUserArea instance will cause its GeUserArea.DrawMsg() being called.

Message Contexts

C4DAtom Messages

The following messages can be broadcasted to C4DAtom instances with the method C4DAtom.Message().

Symbol

Numeric Value

Description

c4d.MSG_ANIMATE

300001037

Sent to objects after they have been animated.

c4d.MSG_BASECONTAINER

9

Sent to pass arbitrary data in a container to a node.

c4d.MSG_CHANGE

7

Sent if any data except for the matrix has been changed.

c4d.MSG_COLLECTC4DFALLOFF

440000221

Sent to atoms that might contain a falloff.

c4d.MSG_COMMANDINFORMATION

300001001

Sent to retrieve command information.

c4d.MSG_DESCRIPTION_ALLOWOVERRIDE

431000094

Sent to check if take override operation is allowed.

c4d.MSG_DESCRIPTION_CHECKDRAGANDDROP

26

Sent to ask an atom if a drag and drop operation is accepted.

c4d.MSG_DESCRIPTION_CHECKUPDATE

17

Sent to allow elements to determine the type of refresh after a parameter has been changed.

c4d.MSG_DESCRIPTION_COMMAND

18

Sent for button description elements.

c4d.MSG_DESCRIPTION_CUSTOMGUI_NOTIFICATION

431000175

Sent by a custom GUI to its parent node.

c4d.MSG_DESCRIPTION_EDIT_ENTRY

25

Sent to tell an atom to edit a description entry.

c4d.MSG_DESCRIPTION_GETBITMAP

27

Sent to query a description for a c4d.gui.BitmapButtonCustomGui bitmap.

c4d.MSG_DESCRIPTION_POPUP

300001046

Sent to handle description popup menus in the Attribute Manager.

c4d.MSG_DESCRIPTION_POSTSETPARAMETER

19

Sent after a C4DAtom.SetParameter() call.

c4d.MSG_DESCRIPTION_REMOVE_ENTRY

24

Sent to tell an atom to remove a description entry.

c4d.MSG_DESCRIPTION_VALIDATE

20

Sent to update dependencies or to check for invalid values after a parameter change.

c4d.MSG_DOCUMENT_MODE_CHANGED

200000091

Sent to the active tool plugin when document mode is changed.

c4d.MSG_DOCUMENTINFO

1001078

Sent when a document has been loaded, saved, merged or other document related actions occurred.

c4d.MSG_DRAGANDDROP

1018756

Sent to elements in the Object Manager when something is dropped on it.

c4d.MSG_EDIT

21

Sent to perform an action when element is being edited.

c4d.MSG_FILTER

14

Sent to allow or block C4DAtom.MultiMessage() calls.

c4d.MSG_GET_MODATASELECTION

1021339

Sent to retrieve the data of MoGraph selection tags.

c4d.MSG_GET_MODATAWEIGHTS

440000230

Sent to retrieve the data for MoGraph weights tags.

c4d.MSG_GETALLASSETS

112004

Sent to retrieve all assets from an object.

c4d.MSG_GETCUSTOMICON

1001090

Sent to retrieve a custom icon.

c4d.MSG_GETCUSTOMICON_SETTINGS

1041699

Sent to retrieve the custom icon settings of an object.

c4d.MSG_GETREALCAMERADATA

1028476

Sent to get a real camera object from a generator.

c4d.MSG_GETREALTAGDATA

1036447

Sent to get the real tag object from a virtual ‘generator’ tag.

c4d.MSG_MENUPREPARE

22

Sent to allow tags, objects, shaders etc. to do some setup work when called from the menu.

c4d.MSG_MULTI_CLEARSUGGESTEDFOLDER

200000040

Sent to nodes to convert absolute paths to filename.

c4d.MSG_MULTI_DOCUMENTCLONED

11

Sent when a document is being cloned.

c4d.MSG_MULTI_RENDERNOTIFICATION

1001071

Sent to a document and all of its elements before a render starts.

c4d.MSG_POINTS_CHANGED

1

Sent to notify an object its points have changed.

c4d.MSG_POLYGONS_CHANGED

2

Sent to notify an object its polygons have changed.

c4d.MSG_RETRIEVEPRIVATEDATA

23

Sent to retrieve private data from an atom.

c4d.MSG_SCALEDOCUMENT

300001069

Sent to signal that another document with different scale has been merged with the current document.

c4d.MSG_SEGMENTS_CHANGED

10

Sent to notify an object that its segments have changed.

c4d.MSG_SMALLUPDATE

6

Sent if part of an object has changed and does not need cache rebuilding.

c4d.MSG_UPDATE

5

Sent to inform an object that its bounding box must be recalculated. Otherwise use MSG_CHANGE.

Core Messages

The following messages can be broadcasted with c4d.SendCoreMessage().

Symbol

Numeric Value

Description

c4d.COREMSG_CINEMA_EXECUTEEDITORCOMMAND

200000023

Executes the command with ID specified by COREMSG_CINEMA_EXECUTEEDITORCOMMAND in msg.

c4d.COREMSG_CINEMA_EXECUTEOPTIONMODE

300001037

Pass whether to open the option dialog or not for COREMSG_CINEMA_EXECUTEEDITORCOMMAND.

c4d.COREMSG_CINEMA_EXECUTESUBID

300001036

Pass the sub-ID for COREMSG_CINEMA_EXECUTEEDITORCOMMAND.

c4d.COREMSG_CINEMA_FORCE_AM_UPDATE

1001077

Forces an Attribute Manager update.

c4d.COREMSG_CINEMA_GETCOMMANDCHECKED

300000115

Checks if the command with ID specified by COREMSG_CINEMA_GETCOMMANDCHECKED in msg is checked or not.

c4d.COREMSG_CINEMA_GETCOMMANDENABLED

200000035

Checks if the command with ID specified by COREMSG_CINEMA_GETCOMMANDENABLED in msg is enabled or disabled.

c4d.COREMSG_CINEMA_GETCOMMANDHELP

200000234

Gets the help string of a command. Pass the command’s ID.

c4d.COREMSG_CINEMA_GETCOMMANDNAME

200000033

Returns the name of the command with ID specified by COREMSG_CINEMA_GETCOMMANDNAME in msg.

c4d.COREMSG_CINEMA_GETMACHINEFEATURES

1733248844

Retrieves machine features. Returned container IDs see MACHINEINFO and Viewport.

c4d.COREMSG_UPDATECOMMANDSMESSAGE

200000100

Private

Event Messages

The following messages can be broadcasted with c4d.GeSyncMessage() and received in the CoreMessage methods in MessageData, GeDialog and GeUserArea interfaces.

Symbol

Numeric Value

Description

c4d.EVMSG_ACTIVEVIEWCHANGED

1633908343

Private

c4d.EVMSG_ASYNCEDITORMOVE

1701080438

The user moved something in the editor window.

c4d.EVMSG_AUTKEYMODECHANGED

200000009

The autokey mode was changed.

c4d.EVMSG_BROWSERCHANGE

-1002

Something in the browser has been changed (local event).

c4d.EVMSG_CHANGE

604

Sent by EventAdd().

c4d.EVMSG_DOCUMENTRECALCULATED

1685218156

Sent while drawing after the animation, expressions and cache building have been done.

c4d.EVMSG_FCURVECHANGE

-1010

Something in the F-Curve manager has been changed (local event).

c4d.EVMSG_GRAPHVIEWCHANGED

400008000

Something in XPresso has been changed (local event).

c4d.EVMSG_MATERIALPREVIEW

-1008

Private

c4d.EVMSG_MATERIALSELECTION

-1009

A material selection has been changed (local event).

c4d.EVMSG_RAYTRACER_FINISHED

-1003

Private

c4d.EVMSG_SETMODE

1055256

Private

c4d.EVMSG_SHOWIN_FC

-200000076

Show in Function Curve editor.

c4d.EVMSG_SHOWIN_LM

-200000077

Show in Layer Manager.

c4d.EVMSG_SHOWIN_MT

-200000078

Show in Motion editor.

c4d.EVMSG_SHOWIN_SB

-200000074

Show in Scene Browser.

c4d.EVMSG_SHOWIN_TL

-200000075

Show in Timeline.

c4d.EVMSG_TAKECHANGED

431000159

Sent by the Take System when the current Take ID changed to let all managers react to the new status.

c4d.EVMSG_TIMECHANGED

1952671847

Private

c4d.EVMSG_TIMELINESELECTION

-1001

A timeline selection has been changed (local event).

c4d.EVMSG_TL_FCURVE_POS

-200000079

Show and frame fcurve position tracks.

c4d.EVMSG_TL_FCURVE_ROT

-200000080

Show and frame fcurve rotation tracks.

c4d.EVMSG_TL_FCURVE_SCALE

-200000081

Show and frame fcurve scale tracks.

c4d.EVMSG_TLOM_MERGE

-465001000

Private

c4d.EVMSG_TOOLCHANGED

-826267

A tool setting has changed (local event).

c4d.EVMSG_UPDATEBASEDRAW

200000099

Sent in the case that the view should be redrawn.

c4d.EVMSG_UPDATEHIGHLIGHT

200000073

A special message sent by Cinema 4D in the case that only the highlighting changes.

c4d.EVMSG_UPDATESCHEME

200000010

Scheme has been updated.

c4d.EVMSG_VIEWWINDOW_3DPAINTUPD

-1012

Private

c4d.EVMSG_VIEWWINDOW_OUTPUT

-1011

Private

GUI Messages

The following messages can be send to and received by the Message methods of GeDialog and GeUserArea instances.

Symbol

Numeric Value

Description

c4d.MSG_ANIMATE

300001037

Sent to objects after they have been animated.

c4d.BFM_ACTION

1648444244

One of the child elements made action.

c4d.BFM_ACTION_ESC

1634038627

Internal

c4d.BFM_ACTION_ID

1835362660

ID of the dialog element that triggered the action.

c4d.BFM_ACTION_INDRAG

1835361394

Slider in dragging mode (not finished).

c4d.BFM_ACTION_KEYDOWN

1801812324

Key Down pressed while editfield is active.

c4d.BFM_ACTION_KEYUP

1801812341

Key Up pressed while editfield is active.

c4d.BFM_ACTION_RESET

1634887027

Reset to default value on right-click of input field arrows.

c4d.BFM_ACTION_STRCHG

1835365236

String in text field changed.

c4d.BFM_ACTION_UPDATE

1970300020

Internal

c4d.BFM_ACTION_VALCHG

1986226279

Edit/slider changed.

c4d.BFM_ACTION_VALUE

1835365985

GeData Action value.

c4d.BFM_ACTIVATE_WINDOW

2002871156

Private

c4d.BFM_ACTIVE

1633907830

Private

c4d.BFM_ACTIVE_CHG

1648444231

Private

c4d.BFM_ADJUSTSIZE

1715553354

Private

c4d.BFM_ADJUSTSIZE_HEIGHT

4

Private

c4d.BFM_ADJUSTSIZE_LEFT

1

Private

c4d.BFM_ADJUSTSIZE_TOP

2

Private

c4d.BFM_ADJUSTSIZE_WIDTH

3

Private

c4d.BFM_ASK_TABSWITCH

1937006946

Internal

c4d.BFM_ASKCLOSE

1634954083

Ask if a dialog is able to close. Return false it is OK to close, otherwise true.

c4d.BFM_CALCSIZE

1648574803

Called if the element has to calculate its own minimum X and Y dimensions.

c4d.BFM_CHECKCLOSE

1667787619

Check if a dialog is able to close. Return false it is OK to close, otherwise true.

c4d.BFM_CHECKCLOSE_LAYOUTSWITCH

1667460204

Check if a dialog is able to close when layouts are switched. Return false it is OK to close, otherwise true.

c4d.BFM_CHILD_ID

1

Private

c4d.BFM_CHILD_REMOVED

1649567085

Private

c4d.BFM_CLEARFOCUS

1648576067

Private

c4d.BFM_CLOSEWINDOW

1668050803

Internal

c4d.BFM_COLORCHOOSER

1668246595

Color chooser settings:

c4d.BFM_COLORCHOOSER_PARENTMESSAGE

1668246608

Color chooser parent message.

c4d.BFM_COLORCHOOSER_RGB_RANGE

2

RGB range: COLORSYSTEM_RANGE

c4d.BFM_COLORCHOOSER_SYSTEMMESSAGE

5

Sends a parent message BFM_COLORCHOOSER_PARENTMESSAGE if the settings change.

c4d.BFM_COMMANDSCHANGED

1668113256

Private

c4d.BFM_CORE_ID

1298360649

Core message ID.

c4d.BFM_CORE_MESSAGE

1298360653

Core message.

c4d.BFM_CORE_PAR1

1298360625

Parameter 1.

c4d.BFM_CORE_PAR2

1298360626

Parameter 2.

c4d.BFM_CORE_SPECIALCOREID

1935894884

Special manager ID for sync message.

c4d.BFM_CORE_UNIQUEID

1299540324

Time stamp.

c4d.BFM_CORE_UPDATEACTIVECOMMANDS

1970300001

Private

c4d.BFM_CORE_UPDATECOMMANDS

1970300003

Internal

c4d.BFM_CURSORINFO_REMOVE

1667854957

Sent when mouse cursor has left a user area.

c4d.BFM_DESTINATION_GROUP

1734636404

Internal

c4d.BFM_DESTROY

1685288057

Sent just before the window is destroyed.

c4d.BFM_DISABLE

1648650611

Internal

c4d.BFM_DRAG_DATA_

2

Internal

c4d.BFM_DRAG_DATA_NEW

9

Internal

c4d.BFM_DRAG_ESC

10

Drag escaped.

c4d.BFM_DRAG_FINISHED

5

Drag finished.

c4d.BFM_DRAG_LOST

7

Drag lost.

c4d.BFM_DRAG_SCREENX

3

Screen X.

c4d.BFM_DRAG_SCREENY

4

Screen Y.

c4d.BFM_DRAG_TYPE_NEW

8

Drag type: DRAGTYPE

c4d.BFM_DRAGAUTOSCROLL

10005

Internal

c4d.BFM_DRAGEND

10004

Internal

c4d.BFM_DRAGRECEIVE

10003

Drag receive.

c4d.BFM_DRAGSTART

10001

Internal

c4d.BFM_DRAW

1648644673

Redraw message for user areas.

c4d.BFM_DRAW_BOTTOM

4

Bottom clipping.

c4d.BFM_DRAW_HASRECT

5

Internal

c4d.BFM_DRAW_LEFT

1

Left clipping.

c4d.BFM_DRAW_OGL

6

Internal

c4d.BFM_DRAW_REASON

7

BaseContainer Message which started the redraw.

c4d.BFM_DRAW_RIGHT

3

Right clipping.

c4d.BFM_DRAW_TOP

2

Top clipping.

c4d.BFM_DRAWUSERITEM

1970500196

Private

c4d.BFM_DRAWUSERITEM_ID

1

Internal

c4d.BFM_EDITFIELD_FLUSHUNDO

1718383982

Flushes the undo stack for a multi-line edit text.

c4d.BFM_EDITFIELD_GETBLOCKSTART

1734702178

Returns the block start position in an edit field.

c4d.BFM_EDITFIELD_GETCURSORPOS

1734702179

Return the cursor position in an edit field.

c4d.BFM_EDITFIELD_GETUNDOSTATS

1970172788

Internal

c4d.BFM_EDITFIELD_RESTOREUNDO

1920169077

Restore the undo container for a multi-line edit text.

c4d.BFM_EDITFIELD_SETCURSORPOS

1936028771

Set the cursor position in an edit field.

c4d.BFM_EDITFIELD_STOREUNDO

1937011317

Stores the undo container for a multi-line edit text.

c4d.BFM_EDITFIELD_UNDOSTAT_COUNT

1

The undo stack size.

c4d.BFM_EDITFIELD_UNDOSTAT_UNDOLEVEL

2

The current undo level.

c4d.BFM_ENABLE

1648717409

Internal

c4d.BFM_FADE

1717658725

Sent to blend GUI color with ease in a GeUserArea.

c4d.BFM_FADE_REMOVEALL

1178682437

Private

c4d.BFM_FULLSCREENMODE_OFF

1718971440

Internal

c4d.BFM_FULLSCREENMODE_ON

1718971441

Internal

c4d.BFM_GET_FOCUS_RECTANGLE

1734759011

Returns the coordinates of the input field with the current focus.

c4d.BFM_GET_FOCUS_RECTANGLE_H

3

Input field height.

c4d.BFM_GET_FOCUS_RECTANGLE_W

2

Input field width.

c4d.BFM_GET_FOCUS_RECTANGLE_X

0

Input field X coordinate.

c4d.BFM_GET_FOCUS_RECTANGLE_Y

1

Input field Y coordinate.

c4d.BFM_GETACTIVETABTITLE

1952539508

Private

c4d.BFM_GETCURSORINFO

1667853926

Respond this message to display help information in the bubble help or global statusbar.

c4d.BFM_GETCUSTOMGUILAYOUTDATA

1818327367

Private

c4d.BFM_GETFOCUSBEFOREUPDATE

1648838229

A custom GUI receives this message before the layout is updated. This is used to avoid losing the focus over a specific gadget after the layout is updated.

c4d.BFM_GETINFO

1648979558

Private

c4d.BFM_GETPARENT_MANAGER_ID

1735420260

Private

c4d.BFM_GETVALUE

1733706060

Private

c4d.BFM_GETVIEWPANELDATA

1987077236

Private

c4d.BFM_GETVISIBLE_HEIGHT

10014

Private

c4d.BFM_GETVISIBLE_WIDTH

10013

Private

c4d.BFM_GETVISIBLE_XOFF

10011

Private

c4d.BFM_GETVISIBLE_YOFF

10012

Private

c4d.BFM_GOTFOCUS

1648838211

Item got the focus.

c4d.BFM_GUIPREFSCHANGED

1735418728

Private

c4d.BFM_IDCHNG

1648968771

Private

c4d.BFM_INIT

1648971337

Sent after an element has been created.

c4d.BFM_INITVALUES

1649822030

Sent after the layout is done.

c4d.BFM_INPUT

1648971854

A dialog/user area receives this message if mouse or keyboard input is received. See Input Events for more information.

c4d.BFM_INPUT_AFTER_SCROLL

1648968019

Input message ID sent after scroll area processed input messages.

c4d.BFM_INPUT_ASC

1801548643

String Contains the Unicode input from keyboard.

c4d.BFM_INPUT_CHANNEL

1768973153

Contains the key or mouse button. See also KEY.

c4d.BFM_INPUT_DEVICE

1768973430

Device:

c4d.BFM_INPUT_DOUBLECLICK

1768973410

Double click.

c4d.BFM_INPUT_FINGERWHEEL

1768320615

Finger wheel (tangential pen pressure).

c4d.BFM_INPUT_HSCROLL

1768452963

Amount of horizontal scrolling (touch pad, mouse ball)

c4d.BFM_INPUT_KEYBOARD

1801812322

Keyboard.

c4d.BFM_INPUT_MAGNIFY

102

Zoom guesture on touch pad or touch screen (or mouse scroll with ctrl to indicate zoom). Value in BFM_INPUT_VALUE_REAL.

c4d.BFM_INPUT_MODIFIERS

1768975727

Private

c4d.BFM_INPUT_MOUSE

1836021107

Mouse.

c4d.BFM_INPUT_MOUSELEFT

1

Left mouse button.

c4d.BFM_INPUT_MOUSEMIDDLE

3

Middle mouse button.

c4d.BFM_INPUT_MOUSEMOVE

101

Mouse move.

c4d.BFM_INPUT_MOUSERIGHT

2

Right mouse button.

c4d.BFM_INPUT_MOUSEWHEEL

100

Mouse wheel or panning on touch pad or touch screen. Values in BFM_INPUT_HSCROLL, BFM_INPUT_VSCROLL.

c4d.BFM_INPUT_MOUSEX1

5

Fourth mouse button.

c4d.BFM_INPUT_MOUSEX2

6

Five mouse button.

c4d.BFM_INPUT_MULTITOUCHSCROLL

1768780643

True for scroll events on a multitouch device (which also supports magnify), false for scroll-only mice.

c4d.BFM_INPUT_ORIENTATION

1769107316

Pen rotation.

c4d.BFM_INPUT_P_ROTATION

1886547828

Pen rotation around its own axis.

c4d.BFM_INPUT_QUALIFIER

1768976737

A bit mask with the qualifiers at the time when the event occurred: QUALIFIER

c4d.BFM_INPUT_TILT

1769237620

Pen tilt.

c4d.BFM_INPUT_TIMESTAMP

1769237875

Time stamp of the event or 0.0 (unavailable).

c4d.BFM_INPUT_VALUE

1768978017

Value of the input channel (true/false or a value, e.g. for scroll wheel data).

c4d.BFM_INPUT_VALUE_REAL

1768977985

Channel value (e.g. pen pressure).

c4d.BFM_INPUT_VSCROLL

1769370467

Amount of vertical scrolling (touch pad, mouse wheel/ball)

c4d.BFM_INPUT_WHEELSCROLL

1769436003

True for scroll events on a classic wheel mouse. False for everything else (touchpad, magic mouse).

c4d.BFM_INPUT_X

1768978040

X value.

c4d.BFM_INPUT_Y

1768978041

Y value.

c4d.BFM_INPUT_Z

1768978042

Z value.

c4d.BFM_INTERACTEND

1768846437

Sent when user interaction ends.

c4d.BFM_INTERACTSTART

1768846433

Sent when user interaction starts.

c4d.BFM_ISACTIVE

1767990132

Private

c4d.BFM_LAYOUT_CHANGED

1716273497

Internal

c4d.BFM_LAYOUT_GETDATA

1818327399

Sent when saving the layout. Return a container to store with the layout for this dialog.

c4d.BFM_LAYOUT_SETDATA

1818327411

Receive the container saved with BFM_LAYOUT_GETDATA when loading a layout.

c4d.BFM_LOSTFOCUS

1649165891

Item lost the focus.

c4d.BFM_MANAGER_ID

2

Internal

c4d.BFM_MARKFOCUS

1649231427

Private

c4d.BFM_MARKFORCELAYOUT

1835755116

Private

c4d.BFM_MAXCHNG

1649230147

Private

c4d.BFM_MENU_CHECK

4

Internal

c4d.BFM_MENU_OFF

2

Internal

c4d.BFM_MENU_ON

1

Internal

c4d.BFM_MENU_SET

10000

Private

c4d.BFM_MENU_UNCHECK

8

Internal

c4d.BFM_MENUFINDER

1718185572

Private

c4d.BFM_MINCHNG

1649232195

Private

c4d.BFM_MOVEFOCUSNEXT

1648774744

Private

c4d.BFM_MOVEFOCUSPREV

1648775250

Private

c4d.BFM_OPTIMIZE

1869640809

Private

c4d.BFM_PARENT_TITLECHNG

1886545262

Internal

c4d.BFM_POPUPNOTIFY

1886351470

Notification of popup before the menu opens.

c4d.BFM_REDRAW_EDITMODE

1685546340

Private

c4d.BFM_RELOAD_MENUS

1818520942

Private

c4d.BFM_REMOVE_DIALOG

1649558861

Internal

c4d.BFM_RENAMEWINDOW

2003985774

Internal

c4d.BFM_REQUIRESRESULT

1919250802

Set to true in the passed container for GeDialog.SendMessage() to return a value from the message.

c4d.BFM_SCROLLAREA

10010

Internal

c4d.BFM_SCROLLGROUP_OFFSETCHANGED

1666139718

Internal

c4d.BFM_SCROLLGROUP_SCALE

1935897443

Private

c4d.BFM_SCROLLGROUP_SCROLLED

1935897203

Scroll group scrolled.

c4d.BFM_SCROLLX

1

Internal

c4d.BFM_SCROLLY

2

Internal

c4d.BFM_SET_MSG_BITMASK

1651078253

Private

c4d.BFM_SETACTIVE

1649623363

Private

c4d.BFM_SETACTIVE_DATA

1649623363

Private

c4d.BFM_SETCURSORINFO

1936028771

Same as BFM_EDITFIELD_SETCURSORPOS.

c4d.BFM_SETFIRSTFOCUS

1649624646

Internal

c4d.BFM_SETFOCUS

1649624643

Internal

c4d.BFM_SETFOCUSAFTERUPDATE

1649624661

A custom GUI description receives this message after the layout is updated to reactivate previously focused gadget.

c4d.BFM_SETLASTFOCUS

1649626182

Private

c4d.BFM_SETMAINTITLE

1836345716

Private

c4d.BFM_SETSPECIALMULTI

1397969747

Private

c4d.BFM_SETSPECIALMULTID

1397969732

Private

c4d.BFM_SETSTATUSBAR

1937006964

Sets a statusbar.

c4d.BFM_SETVIEWPANELLAYOUT

1987081068

Private

c4d.BFM_SETVIEWPORTORIGIN

1666142791

Internal

c4d.BFM_SETVIEWPORTORIGIN_X

1

Internal

c4d.BFM_SETVIEWPORTORIGIN_Y

2

Internal

c4d.BFM_SETVIEWPORTSIZE

1666402650

Private

c4d.BFM_SHOW_AREA

1935766117

Internal

c4d.BFM_SHOW_FRAME

1933996653

Internal

c4d.BFM_SHOW_ID

1

Internal

c4d.BFM_SIZED

1648972617

Element has been sized.

c4d.BFM_SPECIALGETSTRING

1735684980

Private

c4d.BFM_SPECIALMODE

1936879213

Set the multi-line edit field to the right language mode.

c4d.BFM_SPECIALSETRANGE

1936879207

Private

c4d.BFM_STATUSBAR_HELP

5

Help second text.

c4d.BFM_STATUSBAR_NETPROGRESS

11

Internal

c4d.BFM_STATUSBAR_NETPROGRESSON

9

Internal

c4d.BFM_STATUSBAR_NETPROGRESSSPIN

12

Internal

c4d.BFM_STATUSBAR_NETTINT_COLOR

8

Internal

c4d.BFM_STATUSBAR_NETTXT

10

Internal

c4d.BFM_STATUSBAR_PROGRESS

3

Between 0.0 and 1.0.

c4d.BFM_STATUSBAR_PROGRESSFULLSIZE

6

Internal

c4d.BFM_STATUSBAR_PROGRESSON

1

Statusbar active.

c4d.BFM_STATUSBAR_PROGRESSSPIN

4

Spinning bar.

c4d.BFM_STATUSBAR_TINT_COLOR

7

Color ID for the status bar, or as RGB value (Vector).

c4d.BFM_STATUSBAR_TXT

2

Help first text.

c4d.BFM_STORE_WEIGHTS

1937012583

Private

c4d.BFM_SYNC_MESSAGE

1937337955

Sync message.

c4d.BFM_TESTONLY

1952805748

Private

c4d.BFM_TIMER_MESSAGE

10020

Timer message. Use GeDialog.SetTimer() / GeUserArea.SetTimer() to set the periodical time.

c4d.BFM_TITLECHNG

1649690947

Private

c4d.BFM_UPDATE_REGION

1970303591

Private

c4d.BFM_VALUEADD

1649819972

Private

c4d.BFM_VALUECHNG

1649819971

Private

c4d.BFM_VALUESUB

1649824578

Private

c4d.BFM_VISIBLE_OFF

1986622278

Internal

c4d.BFM_VISIBLE_ON

1986622292

Internal

c4d.BFM_VPD_LAYOUTTYPE

1987079284

Private

c4d.BFM_VPD_MAXIMIZED

1987079544

Private

c4d.BFM_VPD_PANELID

1987078500

Private

c4d.BFM_WEIGHTS_CHANGED

2000906343

Group weights changed.

Plugin Messages

The following messages can be received in the Message methods of CommandData, FalloffData, NodeData, SculptBrushToolData, and ToolData interfaces and their derived interfaces.

Symbol

Numeric Value

Description

c4d.MSG_ANIMATE

300001037

Sent to objects after they have been animated.

c4d.MSG_BASECONTAINER

9

Sent to pass arbitrary data in a container to a node.

c4d.MSG_CHANGE

7

Sent if any data except for the matrix has been changed.

c4d.MSG_COLLECTC4DFALLOFF

440000221

Sent to atoms that might contain a falloff.

c4d.MSG_COMMANDINFORMATION

300001001

Sent to retrieve command information.

c4d.MSG_DESCRIPTION_ALLOWOVERRIDE

431000094

Sent to check if take override operation is allowed.

c4d.MSG_DESCRIPTION_CHECKDRAGANDDROP

26

Sent to ask an atom if a drag and drop operation is accepted.

c4d.MSG_DESCRIPTION_CHECKUPDATE

17

Sent to allow elements to determine the type of refresh after a parameter has been changed.

c4d.MSG_DESCRIPTION_COMMAND

18

Sent for button description elements.

c4d.MSG_DESCRIPTION_CUSTOMGUI_NOTIFICATION

431000175

Sent by a custom GUI to its parent node.

c4d.MSG_DESCRIPTION_EDIT_ENTRY

25

Sent to tell an atom to edit a description entry.

c4d.MSG_DESCRIPTION_GETBITMAP

27

Sent to query a description for a c4d.gui.BitmapButtonCustomGui bitmap.

c4d.MSG_DESCRIPTION_INITUNDO

16

Sent to allows elements to create undo actions for the following parameter changes.

c4d.MSG_DESCRIPTION_POPUP

300001046

Sent to handle description popup menus in the Attribute Manager.

c4d.MSG_DESCRIPTION_POSTSETPARAMETER

19

Sent after a C4DAtom.SetParameter() call.

c4d.MSG_DESCRIPTION_REMOVE_ENTRY

24

Sent to tell an atom to remove a description entry.

c4d.MSG_DESCRIPTION_VALIDATE

20

Sent to update dependencies or to check for invalid values after a parameter change.

c4d.MSG_DOCUMENT_MODE_CHANGED

200000091

Sent to the active tool plugin when document mode is changed.

c4d.MSG_DOCUMENTINFO

1001078

Sent when a document has been loaded, saved, merged or other document related actions occurred.

c4d.MSG_DRAGANDDROP

1018756

Sent to elements in the Object Manager when something is dropped on it.

c4d.MSG_EDIT

21

Sent to perform an action when element is being edited.

c4d.MSG_FILTER

14

Sent to allow or block C4DAtom.MultiMessage() calls.

c4d.MSG_GETALLASSETS

112004

Sent to retrieve all assets from an object.

c4d.MSG_GETCUSTOMICON

1001090

Sent to retrieve a custom icon.

c4d.MSG_GETCUSTOMICON_SETTINGS

1041699

Sent to retrieve the custom icon settings of an object.

c4d.MSG_GETREALCAMERADATA

1028476

Sent to get a real camera object from a generator.

c4d.MSG_MENUPREPARE

22

Sent to allow tags, objects, shaders etc. to do some setup work when called from the menu.

c4d.MSG_MULTI_CLEARSUGGESTEDFOLDER

200000040

Sent to nodes to convert absolute paths to filename.

c4d.MSG_MULTI_DOCUMENTCLONED

11

Sent when a document is being cloned.

c4d.MSG_MULTI_RENDERNOTIFICATION

1001071

Sent to a document and all of its elements before a render starts.

c4d.MSG_POINTS_CHANGED

1

Sent to notify an object its points have changed.

c4d.MSG_POLYGONS_CHANGED

2

Sent to notify an object its polygons have changed.

c4d.MSG_SCALEDOCUMENT

300001069

Sent to signal that another document with different scale has been merged with the current document.

c4d.MSG_SEGMENTS_CHANGED

10

Sent to notify an object that its segments have changed.

c4d.MSG_SMALLUPDATE

6

Sent if part of an object has changed and does not need cache rebuilding.

c4d.MSG_UPDATE

5

Sent to inform an object that its bounding box must be recalculated. Otherwise use MSG_CHANGE.