MaxSDK Namespace Reference

Namespace description

These classes let you define skin weighting using a voxel or height map based algorithm.

Samples of usage can be found in

maxsdk/samples/modifiers/bonesdef/VoxelWeights/BMD_Command_VoxelWeight.cpp

Namespaces

 AssetManagement
 
 CUI
 
 DebuggingTools
 
 GeomBind
 
 Graphics
 
 NotificationAPI
 
 ParticleFlow
 
 PerformanceTools
 
 PointCloud
 
 Populate
 
 RenderingAPI
 
 SkinEngine
 
 Util
 

Classes

class  Array
 A generic array container, with proper support for non-POD types. More...
 
class  ArrayAutoPtr
 Standard implementation of a AutoPtr for pointer to array types. More...
 
class  ArrayPointerDestructor
 DestructorPolicy template for pointer to array types. More...
 
class  AutoPtr
 Automatic memory-ownership pointer supporting "resource acquisition is initialization. More...
 
struct  AutoPtrRef
 Helper class used to implement destructive copy semantics and allow for AutoPtrs to be used as return values. More...
 
class  DeleteThisAutoPtr
 Partial template specialization of AutoPtr for types requiring destruction through a DeleteThis method. More...
 
class  DeleteThisDestructor
 DestructorPolicy template for types requiring destruction through DeleteThis. More...
 
class  EdgeDescr
 
class  HoldBegin
 
class  IHelpSystem
 This interface provides access to the 3ds Max Help system. More...
 
class  INoSignalCheckProgress
 An alternative progress reporting interface to class RendProgressCallback, which does not process the window message queue. More...
 
class  IPhysicalCamera
 Access to the properties of the Physical Camera object. More...
 
class  IPhysicalCamera_BitmapApertureSampler
 Utility class that provides efficient sampling for a bitmap aperture on the physical camera. More...
 
class  IPhysicalCameraToneOperator
 Access to the properties of the Physical Camera Exposure Control. More...
 
class  IPhysicalSunSky
 Access to functionality and properties of the Physical Sun & Sky environment map. More...
 
class  ISunPositioner
 Access to functionality and properties of the Sun Positioner object. More...
 
class  PointToPointPath
 
class  QMaxColorSwatch
 Simple UI component to display and modify a color-value. More...
 
class  QMaxFloatSlider
 Qt Max slider for float values. More...
 
class  QMaxFloatSpinBox
 Qt Max spin box for float values. More...
 
class  QMaxLightingUnitSpinBox
 Qt Max spin box for lighting units. More...
 
class  QMaxParamBlockWidget
 Base class for QWidgets which are to be controlled by a parameter block/map. More...
 
class  QMaxTranslationLoader
 
class  QMaxWorldSpinBox
 Qt Max spin box for world units. More...
 
class  SinglePointerDestructor
 DestructorPolicy template for pointer to single object types. More...
 
class  SingleWeakRefMaker
 Utility base class for a ReferenceMaker with a single target that does not share ownership of it's ReferenceTarget. More...
 
class  TexmapThreadSafe
 TexmapThreadSafe provides any texture plugin with thread safe support information in 3ds Max 2015. More...
 
class  VariableGuard
 Resets a variable when the object goes out of scope. More...
 
class  VertexNormal
 The class used to compute vertex normals considering smoothing. More...
 
class  WindowsMessageFilter
 Runs a message loop without blocking, allowing only acceptable Windows messages through to their destination UI controls. More...
 

Typedefs

typedef MAX_DEPRECATED IInteractiveRenderer IAbortableRenderer
 
typedef MAX_DEPRECATED Renderer IStoppableRenderer
 

Functions

HINSTANCE GetHInstance ()
 Get the calling module's HINSTANCE. More...
 
MSTR GetResourceStringAsMSTR (UINT resourceId)
 Extract a resource from the calling module's string table. More...
 
bool GetResourceStringAsMSTR (UINT resourceId, MSTR &resourceString)
 Extract a resource from the calling module's string table. More...
 
UtilExport MSTR GetResourceStringAsMSTR (HINSTANCE hinstance, UINT resourceId)
 Extract a resource from a module's string table. More...
 
UtilExport bool GetResourceStringAsMSTR (HINSTANCE hinstance, UINT resourceId, MSTR &resourceString)
 Extract a resource from a module's string table. More...
 
CoreExport QIcon LoadMaxMultiResIcon (const QString &iconName)
 Loads a set of Images into a multi-resolution QIcon. More...
 
CoreExport HICON CreateHICONFromMaxMultiResIcon (const MSTR &iconName, int width, int height, bool enabled=true, bool on=false)
 Create an HICON from a MaxMultiResIcon. More...
 
HICON CreateHICONFromMaxMultiResIcon (const MSTR &iconName, int size, bool enabled=true, bool on=false)
 
CoreExport HIMAGELIST CreateHIMAGELISTFromMaxMultiResIcon (const MSTR &imageIconName, int size, int count, bool alpha=true, bool enabled=true, bool on=false)
 Create an HIMAGELIST from a MaxMultiResIcon. More...
 
 Q_DECLARE_METATYPE (AColor)
 
QString QStringFromID (int resourceID)
 
IPhysicalCamera_BitmapApertureSampler::RGBValue operator* (const float a, const IPhysicalCamera_BitmapApertureSampler::RGBValue &b)
 
IPhysicalCamera_BitmapApertureSampler::RGBValue operator* (const IPhysicalCamera_BitmapApertureSampler::RGBValue &a, const float b)
 
IPhysicalCamera_BitmapApertureSampler::RGBValue operator* (const IPhysicalCamera_BitmapApertureSampler::RGBValue &a, const IPhysicalCamera_BitmapApertureSampler::RGBValue &b)
 
IPhysicalCamera_BitmapApertureSampler::RGBValue operator+ (const IPhysicalCamera_BitmapApertureSampler::RGBValue &a, const IPhysicalCamera_BitmapApertureSampler::RGBValue &b)
 
IPhysicalCamera_BitmapApertureSampler::RGBValue operator- (const IPhysicalCamera_BitmapApertureSampler::RGBValue &a, const IPhysicalCamera_BitmapApertureSampler::RGBValue &b)
 
UtilExport float GetUIScaleFactor (int monitorID=-1)
 Returns the UI scaling factor relative to a default of 96 DPI. More...
 
UtilExport float GetUIUserScaleFactor ()
 Get the additional user UI scaling factor. More...
 
int UIScaled (int value, int monitorID=-1)
 Returns the given value multiplied with the UI scaling factor. More...
 
float UIScaled (float value, int monitorID=-1)
 Returns the given value multiplied with the UI scaling factor. More...
 
int UIUnScaled (int value, int monitorID=-1)
 Returns the given value divided with the UI scaling factor. More...
 
float UIUnScaled (float value, int monitorID=-1)
 Returns the given value divided with the UI scaling factor. More...
 
void ScaleRect (RECT &rect, int monitorID=-1)
 Scaling of a rectangle values based on UIScaleFactor. More...
 
void UnscaleRect (RECT &rect, int monitorID=-1)
 Unscaling of a rectangle values based on UIScaleFactor. More...
 
UtilExport HBITMAP GetUIScaledBitmap (HBITMAP bitmap, int monitorID=-1)
 Returns a scaled copy of the bitmap if the UI scaling factor is not 1.0. More...
 
UtilExport HRESULT AnnotateControlName (HWND hWnd, const MSTR &name)
 Annotates the control with Microsoft Active Accessibility name property. More...
 
UtilExport HRESULT RemoveAnnotatedNameFromControl (HWND hWnd)
 Removes the Microsoft Active Accessibility name from the control. More...
 
CoreExport void ScaleFileOpenSaveDialogToolbar (HWND hDlg)
 Scales the toolbar size and icons in standard file open/save dialogs. More...
 
CoreExport INT_PTR WINAPI MinimalMaxFileOpenHookProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 A minimal LPOFNHOOKPROC for scaling the toolbar size and icons in standard file open/save dialogs. More...
 
CoreExport bool SearchComboBox (HWND hWnd, MCHAR key, const MCHAR *szTrim=NULL)
 Multiple character search for ComboBoxes. More...
 
CoreExport bool SearchListBox (HWND hWnd, MCHAR key, const MCHAR *szTrim=NULL)
 Multiple character search for ListBoxes. More...
 
CoreExport int GetDefaultToolTipMaxWidth ()
 

Typedef Documentation

typedef MAX_DEPRECATED IInteractiveRenderer IAbortableRenderer
Deprecated:
in 3ds Max 2017. All methods of IAbortableRenderer have been moved to class IInteractiveRenderer.
typedef MAX_DEPRECATED Renderer IStoppableRenderer
Deprecated:
in 3ds Max 2017. All methods of IStoppableRenderer have been moved to class Renderer.

Function Documentation

HINSTANCE MaxSDK::GetHInstance ( )
inline

Get the calling module's HINSTANCE.

Returns
Handle pointing to the start of the calling module.
29 {
30  return reinterpret_cast<HINSTANCE>(&__ImageBase);
31 }
EXTERN_C IMAGE_DOS_HEADER __ImageBase
Definition: dllutilities.h:16
MSTR MaxSDK::GetResourceStringAsMSTR ( UINT  resourceId)
inline

Extract a resource from the calling module's string table.

GetResourceStringAsMSTR is essentially a thread-safe wrapper around the Win32 API's LoadString, but it saves client code from the bother of dealing with its HINSTANCE, of maintaining a buffer, and reduces duplicated code.

Parameters
resourceIdIdentifier for the desired string resource within the calling module's string table.
Returns
An MSTR containing the resource string, empty if the requested resource is not found.
47 {
48  return MaxSDK::GetResourceStringAsMSTR(GetHInstance(), resourceId);
49 }
HINSTANCE GetHInstance()
Get the calling module's HINSTANCE.
Definition: dllutilities.h:28
MSTR GetResourceStringAsMSTR(UINT resourceId)
Extract a resource from the calling module's string table.
Definition: dllutilities.h:46
bool MaxSDK::GetResourceStringAsMSTR ( UINT  resourceId,
MSTR resourceString 
)
inline

Extract a resource from the calling module's string table.

GetResourceStringAsMSTR is essentially a thread-safe wrapper around the Win32 API's LoadString, but it saves client code from the bother of dealing with its HINSTANCE, of maintaining a buffer, and reduces duplicated code.

Parameters
resourceIdIdentifier for the desired string resource within the calling module's string table.
resourceStringUpdated to contain the resource string if the requested resource is not found.
Returns
true if the requested resource is found, false if not
64 {
65  return MaxSDK::GetResourceStringAsMSTR(GetHInstance(), resourceId, resourceString);
66 
67 }
HINSTANCE GetHInstance()
Get the calling module's HINSTANCE.
Definition: dllutilities.h:28
MSTR GetResourceStringAsMSTR(UINT resourceId)
Extract a resource from the calling module's string table.
Definition: dllutilities.h:46
UtilExport MSTR MaxSDK::GetResourceStringAsMSTR ( HINSTANCE  hinstance,
UINT  resourceId 
)

Extract a resource from a module's string table.

GetResourceString is essentially a thread-safe wrapper around the Win32 API's LoadString, but it saves client code from the bother of maintaining a buffer and reduces duplicated code. Optimally, GetResourceString should be called through the single-parameter version from dllutilities.h.

Parameters
hinstanceHandle to the module whose string table will be queried for the resource.
resourceIdIdentifier for the desired string resource within the calling module's string table.
Returns
An MSTR containing the resource string, empty if the requested resource is not found.
UtilExport bool MaxSDK::GetResourceStringAsMSTR ( HINSTANCE  hinstance,
UINT  resourceId,
MSTR resourceString 
)

Extract a resource from a module's string table.

GetResourceString is essentially a thread-safe wrapper around the Win32 API's LoadString, but it saves client code from the bother of maintaining a buffer and reduces duplicated code. Optimally, GetResourceString should be called through the single-parameter version from dllutilities.h.

Parameters
hinstanceHandle to the module whose string table will be queried for the resource.
resourceIdIdentifier for the desired string resource within the calling module's string table.
resourceStringUpdated to contain the resource string if the requested resource is not found.
Returns
true if the requested resource is found, false if not
CoreExport QIcon MaxSDK::LoadMaxMultiResIcon ( const QString &  iconName)

Loads a set of Images into a multi-resolution QIcon.

This function looks into the UI_ln folder of the 3dsmax installation (or the internal Qt resource system) to find a set of matching image files to mark for usage. The actual images get loaded on demand.

The naming of those files has to match one of the following schemes:

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [:/]Folder/BaseName[_on|_off][_size].ext [:/]Folder/BaseName[_on|_off][_(width)x(height)].ext
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    So for example:

iconName files on disk QIcon entry size QIcon state
Undo Undo_16.png 16 x 16px Off
Undo Undo_off_24.png 24 x 24px Off
Undo Undo_on_32.png 32 x 32px On
Undo Undo_on_100.png 100 x 100px On
Undo Undo_16x32.png 16 x 32px Off
Undo Undo_on_16x32.png 16 x 32px On

In that case a single call on LoadMaxMultiResIcon( "Undo" ) would produce an QIcon containing all the different sizes and states.

iconName files on disk QIcon entry size QIcon state
Redo.png Redo.png based on file[^1] Off
Redo.png Redo_on.png based on file[^1] On

[^1]: This forces the QIcon to load the image file to determine its actual size.

iconName files on disk QIcon entry size QIcon state
Fancy.jpg Fancy_300x100.jpg 300 x 100px Off
Fancy.jpg Fancy_150x50.jpg 150 x 50px Off

The iconName may also contain folders or sub-folders, so these fileNames are fine, too (slashes or backslashes can be used):

"SME/Editor.png" "SME/Nodes/Collapse.png" "SME\\Nodes\\RemoveItem.png"

Based on the current 3dsmax theme (Dark/Light) the icons are retrieved from different locations on the file-system, so depending on the setting "SME/Editor.png" may get:

UI_ln/Icons/Dark/SME/Editor*.png UI_ln/Icons/Light/SME/Editor*.png

If the iconName starts with ":/", it points to a Qt Resource like ":/Icons/Undo", the theming is not automatically applied, so the caller is responsible to actually provide the correct resource-bundle. Nevertheless the QIcons internal pixmap cache will be wiped on a theme change, so the next paint call on the QIcon will reload the acquired version.

If a size of an image inside an QIcon is not available but requested for painting, Qt will downscale the next bigger version automatically - but will never scale images up.

Parameters
[in]iconNameThe name of the icon to load. The path, basename and the extension of the file is used to find matching icons. The Extension may be omitted and .png is assumed to be the default extension.
Returns
A QIcon that contains all the images that matches the given iconName. Might be an empty QIcon if no match could be found.
See also
QIcon class in the Qt documentation, Qt Resource System
CoreExport HICON MaxSDK::CreateHICONFromMaxMultiResIcon ( const MSTR iconName,
int  width,
int  height,
bool  enabled = true,
bool  on = false 
)

Create an HICON from a MaxMultiResIcon.

Loads a QIcon using LoadMaxMultiResIcon, and tries to extract a HICON from it using the given size, mode and state settings. For a detailed description on the iconName syntax, please have a closer look at the LoadMaxMultiResIcon function. The HICON returned might be smaller than requested, but never larger.

Convenience method for legacy usage, for example when using one size of a multi-resolution-icon in a win32 HMENU. Note that the resulting HICON wont refresh itself on a theme change, as the QIcon does.

Parameters
[in]iconNameThe name of the icon to load. This may be the actual filename, but also can be some folder/basename combination, as described in detail in LoadMaxMultiResIcon.
[in]widthThe (maximum) width of the image to be loaded.
[in]heightThe (maximum) height of the image to be loaded.
[in]enabledSets, if an enabled or disabled version of the icon should be retrieved (QIcon::Normal vs QIcon::Disabled)
[in]onSets, if the On or Off state of the icon should be retrieved (QIcon::On vs QIcon::Off).
Returns
A new HICON for the given parameters, if available, a nullptr otherwise. The HICON might be smaller than requested, but never larger.
See also
LoadMaxMultiResIcon, QIcon::Mode, QIcon::State
HICON MaxSDK::CreateHICONFromMaxMultiResIcon ( const MSTR iconName,
int  size,
bool  enabled = true,
bool  on = false 
)
inline
336  {
337  return CreateHICONFromMaxMultiResIcon( iconName, size, size, enabled, on );
338  }
HICON CreateHICONFromMaxMultiResIcon(const MSTR &iconName, int size, bool enabled=true, bool on=false)
Definition: maxicon.h:335
CoreExport HIMAGELIST MaxSDK::CreateHIMAGELISTFromMaxMultiResIcon ( const MSTR imageIconName,
int  size,
int  count,
bool  alpha = true,
bool  enabled = true,
bool  on = false 
)

Create an HIMAGELIST from a MaxMultiResIcon.

Loads a QIcon using LoadMaxMultiResIcon, and tries to convert it to a HIMAGELIST using the given size, mode and state settings. For a detailed description on the iconName syntax, please have a closer look at the LoadMaxMultiResIcon function.

Parameters
[in]iconNameThe name of the icon to load. This may be the actual filename, but also can be some folder/basename combination, as described in detail in LoadMaxMultiResIcon.
[in]sizeThe width and height of the component icons in the image to be loaded.
[in]countThe number of component icons in the image to be loaded.
[in]alphaSets, if alpha channel in icon should be used when creating the bitmap from the QIcon
[in]enabledSets, if an enabled or disabled version of the icon should be retrieved (QIcon::Normal vs QIcon::Disabled)
[in]onSets, if the On or Off state of the icon should be retrieved (QIcon::On vs QIcon::Off).
Returns
A new HIMAGELIST for the given parameters, if available, a nullptr otherwise.
See also
LoadMaxMultiResIcon, QIcon::Mode, QIcon::State
MaxSDK::Q_DECLARE_METATYPE ( AColor  )
QString QStringFromID ( int  resourceID)
inline
24 {
25  return QString(MaxSDK::GetResourceStringAsMSTR(resourceID));
26 }
MSTR GetResourceStringAsMSTR(UINT resourceId)
Extract a resource from the calling module's string table.
Definition: dllutilities.h:46
IPhysicalCamera_BitmapApertureSampler::RGBValue MaxSDK::operator* ( const float  a,
const IPhysicalCamera_BitmapApertureSampler::RGBValue b 
)
inline
29 {
30  return IPhysicalCamera_BitmapApertureSampler::RGBValue(a * b.r, a * b.g, a * b.b);
31 }
IPhysicalCamera_BitmapApertureSampler::RGBValue MaxSDK::operator* ( const IPhysicalCamera_BitmapApertureSampler::RGBValue a,
const float  b 
)
inline
34 {
35  return b * a;
36 }
39 {
40  return IPhysicalCamera_BitmapApertureSampler::RGBValue(a.r * b.r, a.g * b.g, a.b * b.b);
41 }
44 {
45  return IPhysicalCamera_BitmapApertureSampler::RGBValue(a.r + b.r, a.g + b.g, a.b + b.b);
46 }
49 {
50  return IPhysicalCamera_BitmapApertureSampler::RGBValue(a.r - b.r, a.g - b.g, a.b - b.b);
51 }
UtilExport float MaxSDK::GetUIScaleFactor ( int  monitorID = -1)

Returns the UI scaling factor relative to a default of 96 DPI.

The function reads the systems monitor settings and calculates the scaling factor based on the vertical logical DPI (what can be set and changed through the windows OS control panel). It will return 1.0f, if some value couldn't be retrieved or calculated, or a calculation result will be 0.0f; so it is safe to use the result of this function to simply multiply UI sizes without further checking.

Parameters
[in]monitorIDThe index of the monitor to get the actual logical vertical DPI from. Default value is set to -1, which means the primary system monitor.
Returns
The scaling factor, if it could be retrieved and calculated, 1.0f in other cases.
UtilExport float MaxSDK::GetUIUserScaleFactor ( )

Get the additional user UI scaling factor.

Returns
The users ui scaling factor.
See also
SetUIUserScaleFactor, GetUIScaleFactor
int MaxSDK::UIScaled ( int  value,
int  monitorID = -1 
)
inline

Returns the given value multiplied with the UI scaling factor.

Parameters
[in]valueThe value which should be dpi scaled.
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
Returns
The dpi scaled value.
See also
GetUIScaleFactor
67  {
68  return (int)(value * GetUIScaleFactor( monitorID ));
69  }
UtilExport float GetUIScaleFactor(int monitorID=-1)
Returns the UI scaling factor relative to a default of 96 DPI.
float MaxSDK::UIScaled ( float  value,
int  monitorID = -1 
)
inline

Returns the given value multiplied with the UI scaling factor.

Parameters
[in]valueThe value which should be dpi scaled.
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
Returns
The dpi scaled value.
See also
UIUnScaled, GetUIScaleFactor
82  {
83  return value * GetUIScaleFactor( monitorID );
84  }
UtilExport float GetUIScaleFactor(int monitorID=-1)
Returns the UI scaling factor relative to a default of 96 DPI.
int MaxSDK::UIUnScaled ( int  value,
int  monitorID = -1 
)
inline

Returns the given value divided with the UI scaling factor.

Use this function to do an unscaling of a previous dpi scaled value.

Parameters
[in]valueThe value which should be dpi unscaled.
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
Returns
The dpi unscaled value.
See also
UIScaled, GetUIScaleFactor
98  {
99  return (int)(value / GetUIScaleFactor( monitorID ));
100  }
UtilExport float GetUIScaleFactor(int monitorID=-1)
Returns the UI scaling factor relative to a default of 96 DPI.
float MaxSDK::UIUnScaled ( float  value,
int  monitorID = -1 
)
inline

Returns the given value divided with the UI scaling factor.

Use this function to do an unscaling of a previous dpi scaled value.

Parameters
[in]valueThe value which should be dpi unscaled.
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
Returns
The dpi unscaled value.
See also
UIScaled, GetUIScaleFactor
114  {
115  return value / GetUIScaleFactor( monitorID );
116  }
UtilExport float GetUIScaleFactor(int monitorID=-1)
Returns the UI scaling factor relative to a default of 96 DPI.
void MaxSDK::ScaleRect ( RECT &  rect,
int  monitorID = -1 
)
inline

Scaling of a rectangle values based on UIScaleFactor.

Parameters
[in,out]rectRECT struct to be scaled to UIScaleFactor
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
128  {
129  float scaleFactor = GetUIScaleFactor( monitorID );
130  rect.top = (LONG)(rect.top * scaleFactor);
131  rect.bottom = (LONG)(rect.bottom * scaleFactor);
132  rect.left = (LONG)(rect.left * scaleFactor);
133  rect.right = (LONG)(rect.right * scaleFactor);
134  }
UtilExport float GetUIScaleFactor(int monitorID=-1)
Returns the UI scaling factor relative to a default of 96 DPI.
void MaxSDK::UnscaleRect ( RECT &  rect,
int  monitorID = -1 
)
inline

Unscaling of a rectangle values based on UIScaleFactor.

Parameters
[in,out]rectRECT struct to be unscaled to UIScaleFactor
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
145  {
146  float scaleFactor = GetUIScaleFactor( monitorID );
147  rect.top = (LONG)(rect.top / scaleFactor);
148  rect.bottom = (LONG)(rect.bottom / scaleFactor);
149  rect.left = (LONG)(rect.left / scaleFactor);
150  rect.right = (LONG)(rect.right / scaleFactor);
151  }
UtilExport float GetUIScaleFactor(int monitorID=-1)
Returns the UI scaling factor relative to a default of 96 DPI.
UtilExport HBITMAP MaxSDK::GetUIScaledBitmap ( HBITMAP  bitmap,
int  monitorID = -1 
)

Returns a scaled copy of the bitmap if the UI scaling factor is not 1.0.

Parameters
[in]bitmapThe bitmap to be dpi scaled.
[in]monitorIDThe index of the monitor to get the actual logical vertical dpi from. Default value is set to -1, which means the primary system monitor.
Returns
The dpi scaled bitmap if the UI scaling factor is not 1.0, otherwise null.
UtilExport HRESULT MaxSDK::AnnotateControlName ( HWND  hWnd,
const MSTR name 
)

Annotates the control with Microsoft Active Accessibility name property.

Parameters
[in]hWndThe window handle of the control to be annotated
[in]nameThe name annotated to the control
Returns
S_OK or the error codes
UtilExport HRESULT MaxSDK::RemoveAnnotatedNameFromControl ( HWND  hWnd)

Removes the Microsoft Active Accessibility name from the control.

Parameters
[in]hWndThe window handle of the control to be removed annotation
Returns
S_OK or the error codes
CoreExport void MaxSDK::ScaleFileOpenSaveDialogToolbar ( HWND  hDlg)

Scales the toolbar size and icons in standard file open/save dialogs.

Scales the toolbar containing the 'Go To Last Folder Visisted', 'Up One Level', 'Create New Folder' buttons, and the 'View Menu' dropdown, by the system dpi scaling value. The hDlg parameter is HWND passed to the LPOFNHOOKPROC specified in the OPENFILENAME structure. Technically, this HWND is a child of the win32 file open / save dialog

static INT_PTR WINAPI MinimalMaxFileOpenHookProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_INITDIALOG:
...
Parameters
[in]hDlgThe dialog's HWND.
CoreExport INT_PTR WINAPI MaxSDK::MinimalMaxFileOpenHookProc ( HWND  hDlg,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

A minimal LPOFNHOOKPROC for scaling the toolbar size and icons in standard file open/save dialogs.

Use this LPOFNHOOKPROC when not customization of the Open/Save File dialog is being performed. Example usage:

OPENFILENAME ofn;
memset(&ofn, 0, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.Flags = OFN_HIDEREADONLY | OFN_EXPLORER | OFN_ENABLEHOOK | OFN_ENABLESIZING;
ofn.lpfnHook = (LPOFNHOOKPROC)MaxSDK::MinimalMaxFileOpenHookProc;
...
BOOL res = GetSaveFileName(&ofn);

Implementation:

INT_PTR WINAPI MinimalMaxFileOpenHookProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
if (message == WM_INITDIALOG)
return FALSE;
}
CoreExport bool MaxSDK::SearchComboBox ( HWND  hWnd,
MCHAR  key,
const MCHAR szTrim = NULL 
)

Multiple character search for ComboBoxes.

This method will select an entry in the ComboBox based on the multiple key entries over a set time period. The functionality mimics the standard windows ListView behavior, including the documented one second time period for key entries. It is intended to be used in conjunction with the WM_CHAR message in the ComboBox's callback.

Example usage:

case WM_CHAR:
return MaxSDK::SearchComboBox( hWnd, (MCHAR)wParam, _M(" "));
Parameters
[in]hWndWindow handle of ComboBox
[in]keyCharacter entered by user
[in]szTrimOptional parameter. Default is NULL. Any leading characters in the ComboBox entries that are contained in szTrim will be removed prior to comparing to the search string.
Returns
true if match found, false if not
CoreExport bool MaxSDK::SearchListBox ( HWND  hWnd,
MCHAR  key,
const MCHAR szTrim = NULL 
)

Multiple character search for ListBoxes.

This method will select an entry in the ListBox based on the multiple key entries over a set time period. The functionality mimics the standard windows ListView behavior, including the documented one second time period for key entries. It is intended to be used in conjunction with the WM_CHAR message in the ListBox's callback.

Example usage:

case WM_CHAR:
return MaxSDK::SearchListBox( hWnd, (MCHAR)wParam, _M(" "));
Parameters
[in]hWndWindow handle of ListBox
[in]keyCharacter entered by user
[in]szTrimOptional parameter. Default is NULL. Any leading characters in the ListBox entries that are contained in szTrim will be removed prior to comparing to the search string.
Returns
true if match found, false if not
CoreExport int MaxSDK::GetDefaultToolTipMaxWidth ( )
Remarks
Returns the default maximum width, in pixels, for tooltip windows in Max. Tooltips wider than the maximum are broken into multiple lines.