3ds Max C++ API Reference
custcont.h File Reference
#include "maxheap.h"
#include "winutil.h"
#include "buildver.h"
#include "strclass.h"
#include "actiontableTypedefs.h"
#include "geom/acolor.h"
#include "baseinterface.h"
#include "ifnpub.h"
#include "Path.h"
#include "RollupConstants.h"

Classes

class  DADMgr
 
class  ICustomControl
 
class  CUIFrameMgr
 
class  MacroButtonData
 
class  ISpinnerControl
 
class  ISpinnerControlDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ISpinnerControl pointers. More...
 
class  ISliderControl
 
class  ISliderControlDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ISliderControl pointers. More...
 
class  IRollupCallback
 class IRollupCallback : public InterfaceServer More...
 
class  IRollupPanel
 class IRollupPanel : public InterfaceServer More...
 
class  IRollupRCMenuItem
 class IRollupRCMenuItem : public InterfaceServer More...
 
class  IRollupWindow
 
class  IRollupWindowDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping IRollupWindow pointers. More...
 
class  ICustEdit
 
class  ICustEditDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustEdit pointers. More...
 
class  ICustStatusEdit
 
class  ICustStatusEditDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustStatusEdit pointers. More...
 
class  FlyOffData
 
class  ICustButton
 
class  ICustButtonDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustButton pointers. More...
 
class  ICustStatus
 
class  ICustStatusDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustStatus pointers. More...
 
class  ICustSeparator
 
class  ICustSeparatorDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustSeparator pointers. More...
 
class  ToolItem
 
class  ToolButtonItem
 This class describes the properties of a 3ds Max custom toolbar button. More...
 
class  ToolMacroItem
 
class  ToolSeparatorItem
 
class  ToolStatusItem
 
class  ToolOtherItem
 
class  ToolImageItem
 
class  ICustToolbar
 
class  ICustToolbarDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustToolbar pointers. More...
 
class  IVertToolbar
 
class  IVertToolbarDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping IVertToolbar pointers. More...
 
class  ICustImage
 
class  ICustImageDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping ICustImage pointers. More...
 
class  ICustImage2D
 
class  IOffScreenBuf
 
class  IColorSwatch
 
class  IColorSwatchDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping IColorSwatch pointers. More...
 
class  IColorSwatchRenamer
 

class IColorSwatchRenamer

More...
 
class  IDADWindow
 
class  IDADWindowDestructorPolicy
 Class representing the DestructorPolicy for AutoPtr instances wrapping IDADWindow pointers. More...
 
class  ICustomControlsOptions
 Class used to handle some custom controls options. More...
 

Namespaces

 MaxSDK
 

Macros

#define I_EXEC_CB_NO_BORDER   0xA000
 Pass this to CustButton::Execute() to turnoff borders, like in the toolbar. More...
 
#define I_EXEC_CS_NO_BORDER   0xA001
 Pass this to CustStatus::Execute() to turnoff borders, like in the toolbar. More...
 
#define I_EXEC_SPINNER_RESET   0xA002
 Set a spinner back to its Reset value. More...
 
#define I_EXEC_SPINNER_IS_RESET_CHANGE   0xA003
 When called during a CC_SPINNER_xxx messages, it will return true if the msg was triggered by a right-click reset. More...
 
#define I_EXEC_SPINNER_ALT_DISABLE   0xA004
 disable the alt key spinner behaviour More...
 
#define I_EXEC_SPINNER_ALT_ENABLE   0xA005
 enable the alt key spinner behaviour More...
 
#define I_EXEC_SPINNER_ONE_CLICK_DISABLE   0xA006
 disable the one click spinner behaviour with alt or ctrl down More...
 
#define I_EXEC_SPINNER_ONE_CLICK_ENABLE   0xA007
 enable the one click spinner behaviour with alt or ctrl down More...
 
#define I_EXEC_BUTTON_DAD_ENABLE   0xA008
 enable or disable button drag & drop within a toolbar More...
 
#define I_EXEC_GET_TOOLTIP_HWND   0xA009
 return the hwnd for the tooltip More...
 
#define OWNER_MEDIT_SAMPLE   0
 
#define OWNER_NODE   1
 
#define OWNER_MTL_TEX   2
 
#define OWNER_SCENE   3
 
#define OWNER_BROWSE_NEW   4
 
#define OWNER_BROWSE_LIB   5
 
#define OWNER_BROWSE_MEDIT   6
 
#define OWNER_BROWSE_SCENE   7
 
#define OWNER_MATERIAL_EXPLORER   8
 
#define FONT_POINT_SIZE   0
 
#define FONT_PIXEL_SIZE   1
 
#define FONT_CELL_HEIGHT   2
 
#define CUI_TOP_DOCK   (1<<0)
 Can be docked at the top. More...
 
#define CUI_BOTTOM_DOCK   (1<<1)
 Can be docked at the bottom. More...
 
#define CUI_LEFT_DOCK   (1<<2)
 Can be docked on the left. More...
 
#define CUI_RIGHT_DOCK   (1<<3)
 Can be docked at the right. More...
 
#define CUI_ALL_DOCK   (CUI_TOP_DOCK|CUI_BOTTOM_DOCK|CUI_LEFT_DOCK|CUI_RIGHT_DOCK)
 Can be docked at any of the four positions. More...
 
#define CUI_HORIZ_DOCK   (CUI_TOP_DOCK|CUI_BOTTOM_DOCK)
 Can be docked at the top or bottom. More...
 
#define CUI_VERT_DOCK   (CUI_LEFT_DOCK|CUI_RIGHT_DOCK)
 Can be docked at the left or right. More...
 
#define CUI_FLOATABLE   (1<<4)
 Can be floated. More...
 
#define CUI_FLOATING   (1<<4)
 Synonym for CUI_FLOATABLE. More...
 
#define CUI_CONNECTABLE   (1<<5)
 Not currently implemented. More...
 
#define CUI_SM_HANDLES   (1<<6)
 Set if frame should display size/move handles. More...
 
#define CUI_SLIDING   (1<<7)
 Frame doesn't butt up against the one next to it. More...
 
#define CUI_MAX_SIZED   (1<<8)
 Frame takes up the entire row. More...
 
#define CUI_DONT_SAVE   (1<<9)
 Don't save this CUI frame in the .cui file. More...
 
#define CUI_HAS_MENUBAR   (1<<10)
 CUI frames that have a menu bar need to be treated differently. More...
 
#define CUI_NONE   0
 
#define CUI_HORIZ   CUI_HORIZ_DOCK
 Docked horizontally. More...
 
#define CUI_VERT   CUI_VERT_DOCK
 Docked vertically. More...
 
#define CUI_FLOAT   CUI_FLOATING
 Floating. More...
 
#define CUI_MIN_TB_WIDTH   25
 
#define CUI_MENU_HIDE   0
 
#define CUI_MENU_SHOW_ENABLED   1
 
#define CUI_MENU_SHOW_DISABLED   2
 
#define CUI_MIN_SIZE   0
 The minimum size. More...
 
#define CUI_MAX_SIZE   1
 The maximum size. More...
 
#define CUI_PREF_SIZE   2
 3ds Max does not currently take advantage of this size, only MIN and MAX are used. More...
 
#define CUI_SIZE_16   16
 
#define CUI_SIZE_24   24
 
#define CUI_MASK_NONE   0
 
#define CUI_MASK_MONO   1
 
#define CUI_MASK_ALPHA   2
 
#define CUI_MASK_ALPHA_PREMULT   3
 
#define CUI_EDIT_NONE   0
 
#define CUI_EDIT_KBD   (1<<0)
 
#define CUI_EDIT_SCRIPT   (1<<1)
 
#define CUI_EDIT_MACRO   (CUI_EDIT_KBD | CUI_EDIT_SCRIPT)
 
#define CUI_EDIT_ORDER   (1<<2)
 
#define CUI_MODE_NORMAL   0
 
#define CUI_MODE_EDIT   1
 
#define MB_TYPE_KBD   1
 
#define MB_TYPE_SCRIPT   2
 
#define MB_TYPE_ACTION   3
 
#define MB_TYPE_ACTION_CUSTOM   4
 
#define MB_FLAG_ENABLED   (1 << 0)
 
#define MB_FLAG_CHECKED   (1 << 1)
 
#define SPINNERWINDOWCLASS   _M("SpinnerControl")
 
#define CC_SPINNER_CHANGE   WM_USER + 600
 LOWORD(wParam) = ctrlID,

HIWORD(wParam) = TRUE if user is dragging the spinner interactively. More...
 
#define CC_SPINNER_BUTTONDOWN   WM_USER + 601
 LOWORD(wParam) = ctrlID,

lParam = pointer to ISpinnerControl

. More...
 
#define CC_SPINNER_BUTTONUP   WM_USER + 602
 LOWORD(wParam) = ctrlID,

HIWORD(wParam) = FALSE if user cancelled - TRUE otherwise

lParam = pointer to ISpinnerControl. More...
 
#define CC_SPINNER_SETLIMIT   WM_USER + 609
 LOWORD(wParam) = ctrlID,

HIWORD(wParam) = Param ID in Paramblock2

lParam = pointer to ParamDef - range_high & range_low of ParamDef is the limits users try to set
This Message is used when users choose "Set Max Limit"/"Set Min Limit" on right-click menu of the spinner box of Custom Attributes
More...
 
#define SPINNER_WRAP_DISTANCE   40
 
#define SLIDERWINDOWCLASS   _M("SliderControl")
 
#define CC_SLIDER_CHANGE   WM_USER + 611
 LOWORD(wParam) = ctrlID,

HIWORD(wParam) = TRUE if user is dragging the slider interactively. More...
 
#define CC_SLIDER_BUTTONDOWN   WM_USER + 612
 LOWORD(wParam) = ctrlID,

lParam = pointer to ISliderControl. More...
 
#define CC_SLIDER_BUTTONUP   WM_USER + 613
 LOWORD(wParam) = ctrlID,

HIWORD(wParam) = FALSE if user cancelled - TRUE otherwise

lParam = pointer to ISliderControl. More...
 
#define WM_CUSTROLLUP_RECALCLAYOUT   WM_USER+876
 
#define ROLLUPWINDOWCLASS   _M("RollupWindow")
 
#define APPENDROLL_CLOSED   (1<<0)
 
#define DONTAUTOCLOSE   (1<<1)
 
#define ROLLUP_SAVECAT   (1<<2)
 
#define ROLLUP_USEREPLACEDCAT   (1<<3)
 
#define ROLLUP_NOBORDER   (1<<4)
 
#define ROLLUP_MINIMAL_PADDING   (1<<5)
 
#define ROLLUP_DONT_ADD_TO_CP   (1<<6)
 
#define CUSTEDITWINDOWCLASS   _M("CustEdit")
 
#define WM_CUSTEDIT_ENTER   (WM_USER+685)
 
#define CUSTSTATUSEDITWINDOWCLASS   _M("CustStatusEdit")
 
#define CUSTBUTTONWINDOWCLASS   _M("CustButton")
 
#define CC_COMMAND   WM_USER + 700
 
#define CC_CMD_SET_TYPE   23
 
#define CC_CMD_SET_STATE   24
 
#define CC_CMD_HILITE_COLOR   25
 
#define RED_WASH   RGB(255,192,192)
 
#define GREEN_WASH   (ColorMan()->GetColor(kActiveCommand))
 
#define BLUE_WASH   (ColorMan()->GetColor(kPressedHierarchyButton))
 
#define SUBOBJ_COLOR   (ColorMan()->GetColor(kSubObjectColor))
 
#define NO_COLOR   (0xff000000)
 
#define BN_BUTTONDOWN   8173
 
#define BN_BUTTONUP   8174
 
#define BN_RIGHTCLICK   8183
 
#define BN_FLYOFF   8187
 
#define CMF_TOOLBUTTON   9274
 
#define FLY_VARIABLE   1
 
#define FLY_UP   2
 
#define FLY_DOWN   3
 
#define FLY_HVARIABLE   4
 
#define FLY_LEFT   5
 
#define FLY_RIGHT   6
 
#define CUSTSTATUSWINDOWCLASS   _M("CustStatus")
 
#define CUSTSEPARATORWINDOWCLASS   _M("CustSeparator")
 
#define CUSTTOOLBARWINDOWCLASS   _M("CustToolbar")
 
#define VERTTOOLBARWINDOWCLASS   _M("VertToolbar")
 
#define TB_RIGHTCLICK   0x2861
 
#define CTB_NONE   CUI_NONE
 
#define CTB_HORIZ   CUI_HORIZ
 
#define CTB_VERT   CUI_VERT
 
#define CTB_FLOAT   CUI_FLOAT
 
#define CENTER_TOOL_VERTICALLY   0xffffffff
 
#define CUSTIMAGEWINDOWCLASS   _M("CustImage")
 
#define CUSTIMAGEWINDOWCLASS2D   _M("CustImage2D")
 
#define CC_COLOR_CHANGE   WM_USER + 603
 
#define CC_COLOR_BUTTONDOWN   WM_USER + 606
 
#define CC_COLOR_BUTTONUP   WM_USER + 607
 
#define CC_COLOR_SEL   WM_USER + 604
 
#define CC_COLOR_DROP   WM_USER + 605
 
#define CC_COLOR_CLOSE   WM_USER + 608
 
#define COLORSWATCHWINDOWCLASS   _M("ColorSwatch")
 
#define COLOR_SWATCH_RENAMER_INTERFACE_51   Interface_ID(0x5a684953, 0x1fc043dc)
 
#define DADWINDOWCLASS   _M("DragDropWindow")
 
#define CUSTOMCONTROLSOPTIONS_INTERFACE_ID   Interface_ID(0xae7f4060, 0xb4f5cdd)
 

Typedefs

typedef voidRollupState
 
typedef MaxSDK::Array< MSTRFlyOffIconList
 
typedef LRESULT CALLBACK PaintProc(HDC hdc, Rect rect, BOOL in, BOOL checked, BOOL enabled)
 
typedef LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 

Enumerations

enum  EditSpinnerType {
  EDITTYPE_INT , EDITTYPE_FLOAT , EDITTYPE_UNIVERSE , EDITTYPE_POS_INT ,
  EDITTYPE_POS_FLOAT , EDITTYPE_POS_UNIVERSE , EDITTYPE_TIME
}
 
enum  CustButType { CBT_PUSH , CBT_CHECK }
 
enum  StatusTextFormat { STATUSTEXT_LEFT , STATUSTEXT_CENTERED , STATUSTEXT_RIGHT }
 
enum  ToolItemType {
  CTB_PUSHBUTTON , CTB_CHECKBUTTON , CTB_MACROBUTTON , CTB_SEPARATOR ,
  CTB_STATUS , CTB_OTHER , CTB_IMAGE
}
 

Functions

CoreExport HBRUSH GetLTGrayBrush ()
 
CoreExport HBRUSH GetDKGrayBrush ()
 
CoreExport void MakeBrushesSolid (BOOL onOff)
 
CoreExport HFONT GetFixedFont ()
 Return the fixed font used by 3ds Max. More...
 
CoreExport HFONT GetFixedFont_LocalCharSet ()
 Return the fixed font used by 3ds Max, based on the 3ds Max's language and character set. For internal use only. More...
 
CoreExport HFONT GetFixedFontBold ()
 Return the fixed bold font used by 3ds Max. More...
 
CoreExport HFONT GetFixedFontBold_LocalCharSet ()
 Return the fixed bold font used by 3ds Max, based on the 3ds Max's language and character set. For internal use only. More...
 
CoreExport LONG GetFixedFontHeight ()
 Returns the height of the fixed font used by 3ds Max. More...
 
CoreExport LONG GetFixedFontHeightSmall ()
 Returns the height of the small fixed font used by 3ds Max. More...
 
CoreExport DWORD GetFixedFontCharset ()
 Returns the fixed font character set for the language currently used by 3ds Max. More...
 
CoreExport const MCHARGetFixedFontFace ()
 Returns the font face string for the fixed font used by 3ds Max. More...
 
CoreExport HFONT GetUIFont ()
 Return the standard font used in 3ds Max's user interface. More...
 
CoreExport HFONT GetUIFont_LocalCharSet ()
 Return the standard font used in 3ds Max's user interface, depending on the language and charset. For internal use only. More...
 
CoreExport HFONT GetUIFontBold ()
 Return the standard bold font used in 3ds Max's user interface. More...
 
CoreExport HFONT GetUIFontBold_LocalCharSet ()
 Return the standard bold font used in 3ds Max's user interface, depending on the language and charset. For internal use only. More...
 
CoreExport LONG GetUIFontHeight ()
 Returns the height of standard font which used in 3ds Max's user interface. More...
 
CoreExport LONG GetUIFontHeightSmall ()
 Returns the height of small font which used in 3ds Max's user interface. More...
 
CoreExport DWORD GetUIFontCharset ()
 Returns character set for the current language used in 3ds Max's user interface. More...
 
CoreExport const MCHARGetUIFontFace ()
 Returns the font face string for the standard font used in 3ds Max's user interface. More...
 
CoreExport float GetUIFontPointSize ()
 Returns the font point size 8 points for the standard font used in 3ds Max's user interface. More...
 
CoreExport HFONT CreateCustomizedFont (const MSTR &fontName, int fontSizeUnit, float fontSize, long weight=400, bool isItalic=false, bool isUnderlined=false)
 Return the customized font with the given font name, size and if the font size is point size. More...
 
CoreExport HFONT GetUIFontSmall ()
 Return the standard small font 6 points used in 3ds Max's user interface. More...
 
CoreExport HFONT GetUIFontLight ()
 Return the standard light font used in 3ds Max's user interface, weight = FW_LIGHT(300). More...
 
CoreExport HFONT GetUIFontItalic ()
 Return the standard italic font used in 3ds Max's user interface. More...
 
CoreExport HCURSOR GetPanCursor ()
 
CoreExport void UpdateButtonOutlines ()
 
CoreExport CUIFrameMgrGetCUIFrameMgr ()
 
CoreExport void DoCUICustomizeDialog ()
 
CoreExport void ResizeFloatingTB (HWND hWnd)
 
CoreExport ISpinnerControlGetISpinner (HWND hCtrl)
 
CoreExport void ReleaseISpinner (ISpinnerControl *isc)
 
CoreExport void SetSnapSpinner (BOOL b)
 
CoreExport BOOL GetSnapSpinner ()
 
CoreExport void SetSnapSpinValue (float f)
 
CoreExport float GetSnapSpinValue ()
 
CoreExport void SetSpinnerPrecision (int p)
 
CoreExport int GetSpinnerPrecision ()
 
CoreExport void SetSpinnerWrap (int w)
 
CoreExport int GetSpinnerWrap ()
 
CoreExport ISliderControlGetISlider (HWND hCtrl)
 
CoreExport void ReleaseISlider (ISliderControl *isc)
 
CoreExport ISliderControlSetupIntSlider (HWND hwnd, int idSlider, int idEdit, int min, int max, int val, int numSegs)
 
CoreExport ISliderControlSetupFloatSlider (HWND hwnd, int idSlider, int idEdit, float min, float max, float val, int numSegs)
 
CoreExport ISliderControlSetupUniverseSlider (HWND hwnd, int idSlider, int idEdit, float min, float max, float val, int numSegs)
 
CoreExport void SetSliderDragNotify (BOOL onOff)
 
CoreExport BOOL GetSliderDragNotify ()
 
CoreExport BOOL IsRollupPanelOpen (HWND hDlg)
 
CoreExport IRollupWindowGetIRollup (HWND hCtrl)
 
CoreExport void ReleaseIRollup (IRollupWindow *irw)
 
CoreExport ICustEditGetICustEdit (HWND hCtrl)
 
CoreExport void ReleaseICustEdit (ICustEdit *ice)
 
CoreExport ICustStatusEditGetICustStatusEdit (HWND hCtrl)
 
CoreExport void ReleaseICustStatusEdit (ICustStatusEdit *ice)
 
CoreExport ICustButtonGetICustButton (HWND hCtrl)
 
CoreExport void ReleaseICustButton (ICustButton *icb)
 
CoreExport ICustStatusGetICustStatus (HWND hCtrl)
 
CoreExport void ReleaseICustStatus (ICustStatus *ics)
 
CoreExport ICustSeparatorGetICustSeparator (HWND hCtrl)
 
CoreExport void ReleaseICustSeparator (ICustSeparator *ics)
 
CoreExport ICustToolbarGetICustToolbar (HWND hCtrl)
 
CoreExport void ReleaseICustToolbar (ICustToolbar *ict)
 
CoreExport IVertToolbarGetIVertToolbar (HWND hCtrl)
 
CoreExport void ReleaseIVertToolbar (IVertToolbar *ict)
 
CoreExport ICustImageGetICustImage (HWND hCtrl)
 
CoreExport void ReleaseICustImage (ICustImage *ici)
 
CoreExport IOffScreenBufCreateIOffScreenBuf (HWND hWnd)
 
CoreExport void DestroyIOffScreenBuf (IOffScreenBuf *iBuf)
 
CoreExport IColorSwatchGetIColorSwatch (HWND hCtrl, COLORREF col, const MCHAR *name)
 
CoreExport IColorSwatchGetIColorSwatch (HWND hCtrl, Color col, const MCHAR *name)
 
CoreExport IColorSwatchGetIColorSwatch (HWND hCtrl, AColor col, const MCHAR *name)
 
CoreExport IColorSwatchGetIColorSwatch (HWND hCtrl)
 
CoreExport void ReleaseIColorSwatch (IColorSwatch *ics)
 
CoreExport void RefreshAllColorSwatches ()
 
CoreExport IDADWindowGetIDADWindow (HWND hWnd)
 
CoreExport void ReleaseIDADWindow (IDADWindow *idw)
 
CoreExport void InstallThumbTack (HWND hwnd)
 This function installs a thumb tack in the title bar of a window which forces the window to the top. More...
 
CoreExport void RemoveThumbTack (HWND hwnd)
 
CoreExport ISpinnerControlSetupIntSpinner (HWND hwnd, int idSpin, int idEdit, int min, int max, int val)
 Handy routines for setting up Integer Spinners. More...
 
CoreExport ISpinnerControlSetupFloatSpinner (HWND hwnd, int idSpin, int idEdit, float min, float max, float val, float scale=0.1f)
 Handy routines for setting up Floating Point and Universe Spinners. More...
 
CoreExport ISpinnerControlSetupUniverseSpinner (HWND hwnd, int idSpin, int idEdit, float min, float max, float val, float scale=0.1f)
 
CoreExport void SetSpinDragNotify (BOOL onOff)
 
CoreExport BOOL GetSpinDragNotify ()
 
CoreExport void DisableAccelerators ()
 
CoreExport void EnableAccelerators ()
 
CoreExport BOOL AcceleratorsEnabled ()
 
CoreExport void SetSaveRequiredFlag (BOOL requireSave=TRUE)
 Explicitly marks the scene as "dirty". More...
 
CoreExport void SetSaveRequiredFlag (BOOL requireSave, BOOL requireAutoBackup)
 Explicitly marks the scene as "dirty". More...
 
CoreExport BOOL GetSaveRequiredFlag ()
 Retrieves the internal save required flag. More...
 
CoreExport BOOL GetAutoBackupSaveRequiredFlag ()
 Retrieves the internal autobackup save required flag. More...
 
CoreExport BOOL IsSaveRequired ()
 This tells if the scene needs to be saved. More...
 
CoreExport BOOL IsAutoSaveRequired ()
 This tells if the current scene needs to be backed up. More...
 

Macro Definition Documentation

◆ I_EXEC_CB_NO_BORDER

#define I_EXEC_CB_NO_BORDER   0xA000

Pass this to CustButton::Execute() to turnoff borders, like in the toolbar.

◆ I_EXEC_CS_NO_BORDER

#define I_EXEC_CS_NO_BORDER   0xA001

Pass this to CustStatus::Execute() to turnoff borders, like in the toolbar.

◆ I_EXEC_SPINNER_RESET

#define I_EXEC_SPINNER_RESET   0xA002

Set a spinner back to its Reset value.

◆ I_EXEC_SPINNER_IS_RESET_CHANGE

#define I_EXEC_SPINNER_IS_RESET_CHANGE   0xA003

When called during a CC_SPINNER_xxx messages, it will return true if the msg was triggered by a right-click reset.

◆ I_EXEC_SPINNER_ALT_DISABLE

#define I_EXEC_SPINNER_ALT_DISABLE   0xA004

disable the alt key spinner behaviour

◆ I_EXEC_SPINNER_ALT_ENABLE

#define I_EXEC_SPINNER_ALT_ENABLE   0xA005

enable the alt key spinner behaviour

◆ I_EXEC_SPINNER_ONE_CLICK_DISABLE

#define I_EXEC_SPINNER_ONE_CLICK_DISABLE   0xA006

disable the one click spinner behaviour with alt or ctrl down

◆ I_EXEC_SPINNER_ONE_CLICK_ENABLE

#define I_EXEC_SPINNER_ONE_CLICK_ENABLE   0xA007

enable the one click spinner behaviour with alt or ctrl down

◆ I_EXEC_BUTTON_DAD_ENABLE

#define I_EXEC_BUTTON_DAD_ENABLE   0xA008

enable or disable button drag & drop within a toolbar

◆ I_EXEC_GET_TOOLTIP_HWND

#define I_EXEC_GET_TOOLTIP_HWND   0xA009

return the hwnd for the tooltip

◆ OWNER_MEDIT_SAMPLE

#define OWNER_MEDIT_SAMPLE   0

◆ OWNER_NODE

#define OWNER_NODE   1

◆ OWNER_MTL_TEX

#define OWNER_MTL_TEX   2

◆ OWNER_SCENE

#define OWNER_SCENE   3

◆ OWNER_BROWSE_NEW

#define OWNER_BROWSE_NEW   4

◆ OWNER_BROWSE_LIB

#define OWNER_BROWSE_LIB   5

◆ OWNER_BROWSE_MEDIT

#define OWNER_BROWSE_MEDIT   6

◆ OWNER_BROWSE_SCENE

#define OWNER_BROWSE_SCENE   7

◆ OWNER_MATERIAL_EXPLORER

#define OWNER_MATERIAL_EXPLORER   8

◆ FONT_POINT_SIZE

#define FONT_POINT_SIZE   0

◆ FONT_PIXEL_SIZE

#define FONT_PIXEL_SIZE   1

◆ FONT_CELL_HEIGHT

#define FONT_CELL_HEIGHT   2

◆ CUI_MIN_TB_WIDTH

#define CUI_MIN_TB_WIDTH   25

◆ CUI_MENU_HIDE

#define CUI_MENU_HIDE   0

◆ CUI_MENU_SHOW_ENABLED

#define CUI_MENU_SHOW_ENABLED   1

◆ CUI_MENU_SHOW_DISABLED

#define CUI_MENU_SHOW_DISABLED   2

◆ CUI_SIZE_16

#define CUI_SIZE_16   16

◆ CUI_SIZE_24

#define CUI_SIZE_24   24

◆ CUI_MASK_NONE

#define CUI_MASK_NONE   0

◆ CUI_MASK_MONO

#define CUI_MASK_MONO   1

◆ CUI_MASK_ALPHA

#define CUI_MASK_ALPHA   2

◆ CUI_MASK_ALPHA_PREMULT

#define CUI_MASK_ALPHA_PREMULT   3

◆ CUI_EDIT_NONE

#define CUI_EDIT_NONE   0

◆ CUI_EDIT_KBD

#define CUI_EDIT_KBD   (1<<0)

◆ CUI_EDIT_SCRIPT

#define CUI_EDIT_SCRIPT   (1<<1)

◆ CUI_EDIT_MACRO

#define CUI_EDIT_MACRO   (CUI_EDIT_KBD | CUI_EDIT_SCRIPT)

◆ CUI_EDIT_ORDER

#define CUI_EDIT_ORDER   (1<<2)

◆ CUI_MODE_NORMAL

#define CUI_MODE_NORMAL   0

◆ CUI_MODE_EDIT

#define CUI_MODE_EDIT   1

◆ MB_TYPE_KBD

#define MB_TYPE_KBD   1

◆ MB_TYPE_SCRIPT

#define MB_TYPE_SCRIPT   2

◆ MB_TYPE_ACTION

#define MB_TYPE_ACTION   3

◆ MB_TYPE_ACTION_CUSTOM

#define MB_TYPE_ACTION_CUSTOM   4

◆ MB_FLAG_ENABLED

#define MB_FLAG_ENABLED   (1 << 0)

◆ MB_FLAG_CHECKED

#define MB_FLAG_CHECKED   (1 << 1)

◆ SPINNERWINDOWCLASS

#define SPINNERWINDOWCLASS   _M("SpinnerControl")

◆ CC_SPINNER_CHANGE

#define CC_SPINNER_CHANGE   WM_USER + 600

LOWORD(wParam) = ctrlID,

HIWORD(wParam) = TRUE if user is dragging the spinner interactively.



lParam = pointer to ISpinnerControl

◆ CC_SPINNER_BUTTONDOWN

#define CC_SPINNER_BUTTONDOWN   WM_USER + 601

LOWORD(wParam) = ctrlID,

lParam = pointer to ISpinnerControl

.

◆ CC_SPINNER_BUTTONUP

#define CC_SPINNER_BUTTONUP   WM_USER + 602

LOWORD(wParam) = ctrlID,

HIWORD(wParam) = FALSE if user cancelled - TRUE otherwise

lParam = pointer to ISpinnerControl.

◆ CC_SPINNER_SETLIMIT

#define CC_SPINNER_SETLIMIT   WM_USER + 609

LOWORD(wParam) = ctrlID,

HIWORD(wParam) = Param ID in Paramblock2

lParam = pointer to ParamDef - range_high & range_low of ParamDef is the limits users try to set
This Message is used when users choose "Set Max Limit"/"Set Min Limit" on right-click menu of the spinner box of Custom Attributes

◆ SPINNER_WRAP_DISTANCE

#define SPINNER_WRAP_DISTANCE   40

◆ SLIDERWINDOWCLASS

#define SLIDERWINDOWCLASS   _M("SliderControl")

◆ CC_SLIDER_CHANGE

#define CC_SLIDER_CHANGE   WM_USER + 611

LOWORD(wParam) = ctrlID,

HIWORD(wParam) = TRUE if user is dragging the slider interactively.



lParam = pointer to ISliderControl

◆ CC_SLIDER_BUTTONDOWN

#define CC_SLIDER_BUTTONDOWN   WM_USER + 612

LOWORD(wParam) = ctrlID,

lParam = pointer to ISliderControl.

◆ CC_SLIDER_BUTTONUP

#define CC_SLIDER_BUTTONUP   WM_USER + 613

LOWORD(wParam) = ctrlID,

HIWORD(wParam) = FALSE if user cancelled - TRUE otherwise

lParam = pointer to ISliderControl.

◆ WM_CUSTROLLUP_RECALCLAYOUT

#define WM_CUSTROLLUP_RECALCLAYOUT   WM_USER+876

◆ ROLLUPWINDOWCLASS

#define ROLLUPWINDOWCLASS   _M("RollupWindow")

◆ APPENDROLL_CLOSED

#define APPENDROLL_CLOSED   (1<<0)

◆ DONTAUTOCLOSE

#define DONTAUTOCLOSE   (1<<1)

◆ ROLLUP_SAVECAT

#define ROLLUP_SAVECAT   (1<<2)

◆ ROLLUP_USEREPLACEDCAT

#define ROLLUP_USEREPLACEDCAT   (1<<3)

◆ ROLLUP_NOBORDER

#define ROLLUP_NOBORDER   (1<<4)

◆ ROLLUP_MINIMAL_PADDING

#define ROLLUP_MINIMAL_PADDING   (1<<5)

◆ ROLLUP_DONT_ADD_TO_CP

#define ROLLUP_DONT_ADD_TO_CP   (1<<6)

◆ CUSTEDITWINDOWCLASS

#define CUSTEDITWINDOWCLASS   _M("CustEdit")

◆ WM_CUSTEDIT_ENTER

#define WM_CUSTEDIT_ENTER   (WM_USER+685)

◆ CUSTSTATUSEDITWINDOWCLASS

#define CUSTSTATUSEDITWINDOWCLASS   _M("CustStatusEdit")

◆ CUSTBUTTONWINDOWCLASS

#define CUSTBUTTONWINDOWCLASS   _M("CustButton")

◆ CC_COMMAND

#define CC_COMMAND   WM_USER + 700

◆ CC_CMD_SET_TYPE

#define CC_CMD_SET_TYPE   23

◆ CC_CMD_SET_STATE

#define CC_CMD_SET_STATE   24

◆ CC_CMD_HILITE_COLOR

#define CC_CMD_HILITE_COLOR   25

◆ RED_WASH

#define RED_WASH   RGB(255,192,192)

◆ GREEN_WASH

#define GREEN_WASH   (ColorMan()->GetColor(kActiveCommand))

◆ BLUE_WASH

#define BLUE_WASH   (ColorMan()->GetColor(kPressedHierarchyButton))

◆ SUBOBJ_COLOR

#define SUBOBJ_COLOR   (ColorMan()->GetColor(kSubObjectColor))

◆ NO_COLOR

#define NO_COLOR   (0xff000000)

◆ BN_BUTTONDOWN

#define BN_BUTTONDOWN   8173

◆ BN_BUTTONUP

#define BN_BUTTONUP   8174

◆ BN_RIGHTCLICK

#define BN_RIGHTCLICK   8183

◆ BN_FLYOFF

#define BN_FLYOFF   8187

◆ CMF_TOOLBUTTON

#define CMF_TOOLBUTTON   9274

◆ FLY_VARIABLE

#define FLY_VARIABLE   1

◆ FLY_UP

#define FLY_UP   2

◆ FLY_DOWN

#define FLY_DOWN   3

◆ FLY_HVARIABLE

#define FLY_HVARIABLE   4

◆ FLY_LEFT

#define FLY_LEFT   5

◆ FLY_RIGHT

#define FLY_RIGHT   6

◆ CUSTSTATUSWINDOWCLASS

#define CUSTSTATUSWINDOWCLASS   _M("CustStatus")

◆ CUSTSEPARATORWINDOWCLASS

#define CUSTSEPARATORWINDOWCLASS   _M("CustSeparator")

◆ CUSTTOOLBARWINDOWCLASS

#define CUSTTOOLBARWINDOWCLASS   _M("CustToolbar")

◆ VERTTOOLBARWINDOWCLASS

#define VERTTOOLBARWINDOWCLASS   _M("VertToolbar")

◆ TB_RIGHTCLICK

#define TB_RIGHTCLICK   0x2861

◆ CTB_NONE

#define CTB_NONE   CUI_NONE

◆ CTB_HORIZ

#define CTB_HORIZ   CUI_HORIZ

◆ CTB_VERT

#define CTB_VERT   CUI_VERT

◆ CTB_FLOAT

#define CTB_FLOAT   CUI_FLOAT

◆ CENTER_TOOL_VERTICALLY

#define CENTER_TOOL_VERTICALLY   0xffffffff

◆ CUSTIMAGEWINDOWCLASS

#define CUSTIMAGEWINDOWCLASS   _M("CustImage")

◆ CUSTIMAGEWINDOWCLASS2D

#define CUSTIMAGEWINDOWCLASS2D   _M("CustImage2D")

◆ CC_COLOR_CHANGE

#define CC_COLOR_CHANGE   WM_USER + 603

◆ CC_COLOR_BUTTONDOWN

#define CC_COLOR_BUTTONDOWN   WM_USER + 606

◆ CC_COLOR_BUTTONUP

#define CC_COLOR_BUTTONUP   WM_USER + 607

◆ CC_COLOR_SEL

#define CC_COLOR_SEL   WM_USER + 604

◆ CC_COLOR_DROP

#define CC_COLOR_DROP   WM_USER + 605

◆ CC_COLOR_CLOSE

#define CC_COLOR_CLOSE   WM_USER + 608

◆ COLORSWATCHWINDOWCLASS

#define COLORSWATCHWINDOWCLASS   _M("ColorSwatch")

◆ COLOR_SWATCH_RENAMER_INTERFACE_51

#define COLOR_SWATCH_RENAMER_INTERFACE_51   Interface_ID(0x5a684953, 0x1fc043dc)

◆ DADWINDOWCLASS

#define DADWINDOWCLASS   _M("DragDropWindow")

◆ CUSTOMCONTROLSOPTIONS_INTERFACE_ID

#define CUSTOMCONTROLSOPTIONS_INTERFACE_ID   Interface_ID(0xae7f4060, 0xb4f5cdd)

Typedef Documentation

◆ RollupState

typedef void* RollupState

◆ FlyOffIconList

◆ PaintProc

typedef LRESULT CALLBACK PaintProc(HDC hdc, Rect rect, BOOL in, BOOL checked, BOOL enabled)

◆ WindowProc

typedef LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

Enumeration Type Documentation

◆ EditSpinnerType

Deprecated:
Deprecated as of 3ds Max 2022. Use ExecuteMAXScriptScript function.
Deprecated:
Deprecated as of 3ds Max 2022.
Enumerator
EDITTYPE_INT 

Any integer value.

EDITTYPE_FLOAT 

Any floating point value.

EDITTYPE_UNIVERSE 

This is a value in world space units.

It respects the system's unit settings (for example feet and inches).

EDITTYPE_POS_INT 

Any integer >= 0.

EDITTYPE_POS_FLOAT 

Any floating point value >= 0.0.

EDITTYPE_POS_UNIVERSE 

This is a positive value in world space units.

It respects the system's unit settings (for example feet and inches) .

EDITTYPE_TIME 

This is a time value.

It respects the system time settings (SMPTE for example).

1094  {
1095  EDITTYPE_INT,
1096  EDITTYPE_FLOAT,
1101  EDITTYPE_TIME
1102  };
@ EDITTYPE_POS_UNIVERSE
This is a positive value in world space units.
Definition: custcont.h:1100
@ EDITTYPE_INT
Any integer value.
Definition: custcont.h:1095
@ EDITTYPE_POS_INT
Any integer >= 0.
Definition: custcont.h:1098
@ EDITTYPE_POS_FLOAT
Any floating point value >= 0.0.
Definition: custcont.h:1099
@ EDITTYPE_TIME
This is a time value.
Definition: custcont.h:1101
@ EDITTYPE_UNIVERSE
This is a value in world space units.
Definition: custcont.h:1097
@ EDITTYPE_FLOAT
Any floating point value.
Definition: custcont.h:1096

◆ CustButType

Enumerator
CBT_PUSH 
CBT_CHECK 
2578 { CBT_PUSH, CBT_CHECK };
@ CBT_PUSH
Definition: custcont.h:2578
@ CBT_CHECK
Definition: custcont.h:2578

◆ StatusTextFormat

Enumerator
STATUSTEXT_LEFT 
STATUSTEXT_CENTERED 
STATUSTEXT_RIGHT 
2958  {
2961  STATUSTEXT_RIGHT };
@ STATUSTEXT_RIGHT
Definition: custcont.h:2961
@ STATUSTEXT_CENTERED
Definition: custcont.h:2960
@ STATUSTEXT_LEFT
Definition: custcont.h:2959

Function Documentation

◆ GetLTGrayBrush()

CoreExport HBRUSH GetLTGrayBrush ( )

◆ GetDKGrayBrush()

CoreExport HBRUSH GetDKGrayBrush ( )

◆ MakeBrushesSolid()

CoreExport void MakeBrushesSolid ( BOOL  onOff)

◆ GetPanCursor()

CoreExport HCURSOR GetPanCursor ( )

◆ UpdateButtonOutlines()

CoreExport void UpdateButtonOutlines ( )

◆ GetCUIFrameMgr()

CoreExport CUIFrameMgr* GetCUIFrameMgr ( )
Remarks
Returns a pointer to the CUIFrameMgr which controls the overall operation of CUI Frames (the windows which contain toolbars, menus, the command panel, etc).

◆ DoCUICustomizeDialog()

CoreExport void DoCUICustomizeDialog ( )
Remarks
This global function presents the Customize User Interface dialog.

◆ ResizeFloatingTB()

CoreExport void ResizeFloatingTB ( HWND  hWnd)

◆ GetISpinner()

CoreExport ISpinnerControl* GetISpinner ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the spinner control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseISpinner()

CoreExport void ReleaseISpinner ( ISpinnerControl isc)
Remarks
Used to release the control when finished.
Parameters
iscPoints to the control to release.

◆ SetSnapSpinner()

CoreExport void SetSnapSpinner ( BOOL  b)
Remarks
This activates or de-activates the global spinner snap toggle.
Parameters:
BOOL b

TRUE to activate; FALSE to de-activate.

◆ GetSnapSpinner()

CoreExport BOOL GetSnapSpinner ( )
Remarks
Returns the global spinner snap setting; TRUE if on; FALSE if off.

◆ SetSnapSpinValue()

CoreExport void SetSnapSpinValue ( float  f)
Remarks
This sets the global spinner snap increment or decrement value.
Parameters:
float f

The value that is added to or subtracted from the current spinner value when the arrow buttons are pressed.

◆ GetSnapSpinValue()

CoreExport float GetSnapSpinValue ( )
Remarks
Returns the global spinner snap increment or decrement value.

◆ SetSpinnerPrecision()

CoreExport void SetSpinnerPrecision ( int  p)
Remarks
Sets the precision (number of decimal places displayed) used by the spinner control. Note that this function also affects slider controls. See Class ISliderControl.
Parameters:
int p

The number of decimal places to display in the edit box linked to the spinner control.

◆ GetSpinnerPrecision()

CoreExport int GetSpinnerPrecision ( )
Remarks
Returns the number of decimal places displayed in the edit box linked to a spinner control. Note that this function also affects slider controls. See Class ISliderControl.

Spinner controls have a global snap setting. This is set in 3ds Max using File/Preferences... in the General page by changing the Spinner Snap setting. When enabled this specifies an increment that is applied to the current spinner value each time the UP or DOWN buttons are pressed on the spinner control.

◆ SetSpinnerWrap()

CoreExport void SetSpinnerWrap ( int  w)

◆ GetSpinnerWrap()

CoreExport int GetSpinnerWrap ( )

◆ GetISlider()

CoreExport ISliderControl* GetISlider ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the slider control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseISlider()

CoreExport void ReleaseISlider ( ISliderControl isc)
Remarks
Used to release the control when finished.
Parameters
iscPoints to the control to release.

◆ SetupIntSlider()

CoreExport ISliderControl* SetupIntSlider ( HWND  hwnd,
int  idSlider,
int  idEdit,
int  min,
int  max,
int  val,
int  numSegs 
)
Remarks
This global function is used for setting up integer sliders. It performs the equivalent of the GetISlider(), SetLimits(), SetValue(), and LinkToEdit().
Parameters:
HWND hwnd

The handle of the dialog box in which the slider appears.

int idSlider

The ID of the slider.

int idEdit

The ID of the edit control.

int min

The minimum allowable value.

int max

The maximum allowable value.

int val

The initial value for the spinner.

int numSegs

The number of segments to use for the control.
Returns
A pointer to the slider control.

◆ SetupFloatSlider()

CoreExport ISliderControl* SetupFloatSlider ( HWND  hwnd,
int  idSlider,
int  idEdit,
float  min,
float  max,
float  val,
int  numSegs 
)
Remarks
This global function is used for setting up floating point sliders. It performs the equivalent of the GetISlider(), SetLimits(), SetValue(), and LinkToEdit().
Parameters:
HWND hwnd

The handle of the dialog box in which the slider appears.

int idSlider

The ID of the slider.

int idEdit

The ID of the edit control.

float min

The minimum allowable value.

float max

The maximum allowable value.

float val

The initial value for the spinner.

int numSegs

The number of segments to use for the control.
Returns
A pointer to the slider control.

◆ SetupUniverseSlider()

CoreExport ISliderControl* SetupUniverseSlider ( HWND  hwnd,
int  idSlider,
int  idEdit,
float  min,
float  max,
float  val,
int  numSegs 
)
Remarks
This global function is used for setting up 'universal' value sliders (EDITTYPE_UNIVERSE – these display world space units). It performs the equivalent of the GetISlider(), SetLimits(), SetValue(), and LinkToEdit().
Parameters:
HWND hwnd

The handle of the dialog box in which the slider appears.

int idSlider

The ID of the slider.

int idEdit

The ID of the edit control.

float min

The minimum allowable value.

float max

The maximum allowable value.

float val

The initial value for the spinner.

int numSegs

The number of segments to use for the control.
Returns
A pointer to the slider control.

◆ SetSliderDragNotify()

CoreExport void SetSliderDragNotify ( BOOL  onOff)
Remarks
This function controls whether or not sliders send CC_SLIDER_CHANGE notifications while the user adjusts them with the mouse.
Parameters:
BOOL onOff

TRUE to turn on; FALSE to turn off.

◆ GetSliderDragNotify()

CoreExport BOOL GetSliderDragNotify ( )
Remarks
Returns TRUE if CC_SLIDER_CHANGE notifications are sent by sliders while the user adjusts them with the mouse; FALSE if they are not sent.

◆ IsRollupPanelOpen()

CoreExport BOOL IsRollupPanelOpen ( HWND  hDlg)
Remarks
This function returns TRUE if a particular rollup panel is open given a handle to the dialog window in the panel.
Parameters:
HWND hDlg

Handle to the dialog window in the panel.

◆ GetIRollup()

CoreExport IRollupWindow* GetIRollup ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the rollup window control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseIRollup()

CoreExport void ReleaseIRollup ( IRollupWindow irw)
Remarks
Used to release the control when finished.
Parameters
irwPoints to the control to release.

◆ GetICustEdit()

CoreExport ICustEdit* GetICustEdit ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the custom edit control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustEdit()

CoreExport void ReleaseICustEdit ( ICustEdit ice)
Remarks
Used to release the control when finished.
Parameters
icePoints to the control to release.

◆ GetICustStatusEdit()

CoreExport ICustStatusEdit* GetICustStatusEdit ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the custom status edit control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustStatusEdit()

CoreExport void ReleaseICustStatusEdit ( ICustStatusEdit ice)
Remarks
Used to release the control when finished.
Parameters
icePoints to the control to release.

◆ GetICustButton()

CoreExport ICustButton* GetICustButton ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the button control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustButton()

CoreExport void ReleaseICustButton ( ICustButton icb)
Remarks
Used to release the control when finished.
Parameters
icbPoints to the control to release.

◆ GetICustStatus()

CoreExport ICustStatus* GetICustStatus ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the custom status control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustStatus()

CoreExport void ReleaseICustStatus ( ICustStatus ics)
Remarks
Used to release the control when finished.
Parameters
icsPoints to the control to release.

◆ GetICustSeparator()

CoreExport ICustSeparator* GetICustSeparator ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the separator control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustSeparator()

CoreExport void ReleaseICustSeparator ( ICustSeparator ics)
Remarks
Used to release the control when finished.
Parameters
icsPoints to the control to release.

◆ GetICustToolbar()

CoreExport ICustToolbar* GetICustToolbar ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the toolbar control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustToolbar()

CoreExport void ReleaseICustToolbar ( ICustToolbar ict)
Remarks
Used to release the control when finished.
Parameters
ictPoints to the control to release.

◆ GetIVertToolbar()

CoreExport IVertToolbar* GetIVertToolbar ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the vertical toolbar control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseIVertToolbar()

CoreExport void ReleaseIVertToolbar ( IVertToolbar ict)
Remarks
Used to release the control when finished.
Parameters
ictPoints to the control to release.

◆ GetICustImage()

CoreExport ICustImage* GetICustImage ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the image control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseICustImage()

CoreExport void ReleaseICustImage ( ICustImage ici)
Remarks
Used to release the control when finished.
Parameters
iciPoints to the control to release.

◆ CreateIOffScreenBuf()

CoreExport IOffScreenBuf* CreateIOffScreenBuf ( HWND  hWnd)

◆ DestroyIOffScreenBuf()

CoreExport void DestroyIOffScreenBuf ( IOffScreenBuf iBuf)

◆ GetIColorSwatch() [1/4]

CoreExport IColorSwatch* GetIColorSwatch ( HWND  hCtrl,
COLORREF  col,
const MCHAR name 
)
Remarks
Used to initialize and return a pointer to the color swatch control.
Parameters
hCtrlwindow handle of the control.
colsets the initial color selected.
namesets the text string displayed in the title bar of the selection dialog.

◆ GetIColorSwatch() [2/4]

CoreExport IColorSwatch* GetIColorSwatch ( HWND  hCtrl,
Color  col,
const MCHAR name 
)
Remarks
Used to initialize and return a pointer to the color swatch control.
Parameters
hCtrlwindow handle of the control.
colsets the initial color selected.
namesets the text string displayed in the title bar of the selection dialog.

◆ GetIColorSwatch() [3/4]

CoreExport IColorSwatch* GetIColorSwatch ( HWND  hCtrl,
AColor  col,
const MCHAR name 
)
Remarks
Used to initialize and return a pointer to the color swatch control.
Parameters
hCtrlwindow handle of the control.
colsets the initial color selected.
namesets the text string displayed in the title bar of the selection dialog.

◆ GetIColorSwatch() [4/4]

CoreExport IColorSwatch* GetIColorSwatch ( HWND  hCtrl)
Remarks
Used to initialize and return a pointer to the color swatch control.
Parameters
hCtrlwindow handle of the control.

◆ ReleaseIColorSwatch()

CoreExport void ReleaseIColorSwatch ( IColorSwatch ics)
Remarks
Used to release the control when finished.
Parameters
icsPoints to the control to release.

◆ RefreshAllColorSwatches()

CoreExport void RefreshAllColorSwatches ( )
Remarks
Refresh all color swatches.

◆ GetIDADWindow()

CoreExport IDADWindow* GetIDADWindow ( HWND  hWnd)
Remarks
Used to initialize and return a pointer to the D&D window control.
Parameters
hWndwindow handle of the control.

◆ ReleaseIDADWindow()

CoreExport void ReleaseIDADWindow ( IDADWindow idw)
Remarks
Used to release the control when finished.
Parameters
idwPoints to the control to release.

◆ InstallThumbTack()

CoreExport void InstallThumbTack ( HWND  hwnd)

This function installs a thumb tack in the title bar of a window which forces the window to the top.

The window class for the window should have 4 extra bytes in the window structure for SetWindowLongPtr().

◆ RemoveThumbTack()

CoreExport void RemoveThumbTack ( HWND  hwnd)

◆ SetupIntSpinner()

CoreExport ISpinnerControl* SetupIntSpinner ( HWND  hwnd,
int  idSpin,
int  idEdit,
int  min,
int  max,
int  val 
)

Handy routines for setting up Integer Spinners.

This global function (not part of class ISpinnerControl) is used for setting up Spinners. It performs the equivalent of GetISpinner(), SetLimits(), SetValue(), and LinkToEdit(). WARNING: To prevent a Memory Leak, be sure to call ReleaseISpinner on the pointer that this function returns, or use AutoPtr and ISpinnerControlDestructorPolicy

Parameters
hwnd- The handle of the dialog box in which the spinner appears.
idSpin- The ID of the spinner.
idEdit- The ID of the edit control.
min- The minimum allowable value.
max- The maximum allowable value.
val- The initial value for the spinner.
Returns
- A pointer to the spinner control.

◆ SetupFloatSpinner()

CoreExport ISpinnerControl* SetupFloatSpinner ( HWND  hwnd,
int  idSpin,
int  idEdit,
float  min,
float  max,
float  val,
float  scale = 0.1f 
)

Handy routines for setting up Floating Point and Universe Spinners.

This global function (not part of class ISpinnerControl) is used for setting up Spinners. Internally it calls the GetISpinner(), SetLimits(), SetValue() and LinkToEdit() functions. WARNING: To prevent a Memory Leak, be sure to call ReleaseISpinner on the pointer that this function returns, or use AutoPtr and ISpinnerControlDestructorPolicy

Parameters
hwnd- The handle of the dialog box in which the spinner appears.
idSpin- The ID of the spinner.
idEdit- The ID of the edit control.
min- The minimum allowable value.
max- The maximum allowable value.
val- The initial value for the spinner.
scale= 0.1f - The initial scale value for the spinner.
Returns
- A pointer to the spinner control.
Sample Code:
Sample code to initialize a spinner / edit control.
ISpinnerControl* spin = GetISpinner(GetDlgItem(hDlg, IDC_SPIN_SPINNER));
spin->SetLimits(0.0f, 100.0f, FALSE);
spin->SetValue(100.0f, FALSE);
spin->LinkToEdit(GetDlgItem(hDlg, IDC_SPIN_EDIT), EDITTYPE_FLOAT);
Definition: custcont.h:1168
virtual void SetValue(float v, int notify)=0
virtual void LinkToEdit(HWND hEdit, EditSpinnerType type)=0
virtual void SetLimits(int min, int max, int limitCurValue=TRUE)=0
CoreExport void ReleaseISpinner(ISpinnerControl *isc)
CoreExport ISpinnerControl * GetISpinner(HWND hCtrl)
The above code could be replaced with the following simplified code:
ISpinnerControl* spin = SetupFloatSpinner(hDlg, IDC_SPIN_SPINNER, IDC_SPIN_EDIT, 0.0f, 100.0f, 100.0f);
CoreExport ISpinnerControl * SetupFloatSpinner(HWND hwnd, int idSpin, int idEdit, float min, float max, float val, float scale=0.1f)
Handy routines for setting up Floating Point and Universe Spinners.

◆ SetupUniverseSpinner()

CoreExport ISpinnerControl* SetupUniverseSpinner ( HWND  hwnd,
int  idSpin,
int  idEdit,
float  min,
float  max,
float  val,
float  scale = 0.1f 
)

◆ SetSpinDragNotify()

CoreExport void SetSpinDragNotify ( BOOL  onOff)
Remarks
This function controls whether or not spinners send CC_SPINNER_CHANGE notifications while the user adjusts them with the mouse.
Parameters:
BOOL onOff

TRUE to turn on; FALSE to turn off.

◆ GetSpinDragNotify()

CoreExport BOOL GetSpinDragNotify ( )
Remarks
Returns TRUE if CC_SPINNER_CHANGE notifications are sent by spinners while the user adjusts them with the mouse; FALSE if they are not sent.

◆ DisableAccelerators()

CoreExport void DisableAccelerators ( )

◆ EnableAccelerators()

CoreExport void EnableAccelerators ( )

◆ AcceleratorsEnabled()

CoreExport BOOL AcceleratorsEnabled ( )

◆ SetSaveRequiredFlag() [1/2]

CoreExport void SetSaveRequiredFlag ( BOOL  requireSave = TRUE)

Explicitly marks the scene as "dirty".

Some operations are not undoable, but they do change the scene. These operations should call SetSaveRequiredFlag(); to explicitly indicate that save and autobackup are required after the operation.

Parameters
requireSave- If TRUE, the scene will be flagged as requiring save and autobackup.

◆ SetSaveRequiredFlag() [2/2]

CoreExport void SetSaveRequiredFlag ( BOOL  requireSave,
BOOL  requireAutoBackup 
)

Explicitly marks the scene as "dirty".

Similar to SetSaveRequiredFlag(BOOL), but with finer control over both "save" and "autobackup" flags. This is used when flags need to be reset after an operation.

// Backup save required flags
const BOOL needSave = GetSaveRequiredFlag();
const BOOL needAutobackup = GetAutoBackupSaveRequiredFlag();
... perform operation that can alter the flags...
// Restore save flags
SetSaveRequiredFlag(needSave, needAutobackup);
CoreExport BOOL GetAutoBackupSaveRequiredFlag()
Retrieves the internal autobackup save required flag.
CoreExport BOOL GetSaveRequiredFlag()
Retrieves the internal save required flag.
Parameters
requireSave- If TRUE, the scene will be flagged as requiring a save.
requireAutoBackup- If TRUE, the scene will be flagged as requiring an autobackup.

◆ GetSaveRequiredFlag()

CoreExport BOOL GetSaveRequiredFlag ( )

Retrieves the internal save required flag.

See also
void SetSaveRequiredFlag(BOOL requireSave, BOOL requireAutoBackup)
Returns
The value of the "save-required" flag as last set by the SetSaveRequiredFlag method.

◆ GetAutoBackupSaveRequiredFlag()

CoreExport BOOL GetAutoBackupSaveRequiredFlag ( )

Retrieves the internal autobackup save required flag.

See also
void SetSaveRequiredFlag(BOOL requireSave, BOOL requireAutoBackup)
Returns
The value of the "autobackup-save-required" flag as last set by the SetSaveRequiredFlag method.

◆ IsSaveRequired()

CoreExport BOOL IsSaveRequired ( )

This tells if the scene needs to be saved.

Whenever an undoable operation is executed (by the user or otherwise), or SetSaveRequiredFlag is called with TRUE as its first parameter, the scene is considered different than its most recently saved version.

Returns
TRUE if the scene needs to be saved; FALSE otherwise.

◆ IsAutoSaveRequired()

CoreExport BOOL IsAutoSaveRequired ( )

This tells if the current scene needs to be backed up.

An autosave is required when (a) something has changed in the scene (a save is required) and (b) no autosave has been performed since the last scene change. The second condition (b) guarantees that the scene is backed up only once when a 3ds Max session is left unattended for a time that spans several autosave (autobackup) time intervals.

Returns
TRUE if an autosave should occur; FALSE otherwise.