Have you tried setting the button class manually? … CONTROL “Add”,IDC_CUSTOM1,“CustButton”,WS_TABSTOP,14,112,37,14 CONTROL “Remove”,I…
Oh, I just realized that I’ve used the ParamMap2UserDlgProc only for object plugins and utilities. You should be able get the HWND of a rollout inside…
Yes, I think this is the preferred way of doing this The only other option I can think of is using a transient, read-only proxy parameter in your par…
You probably forgot the WIN64 preprocessor definition Solution:
Untested but should work void DisableModifiersByClassName(INode* node, const MSTR& className) { if (!node) return; auto object =…
It’s likely that the undo/redo system still holds a reference to your deleted object. How do you delete your plugin object, DeleteMe(), DeleteThis() e…
I’m not aware of any built-in or MaxScript only way to accomplish this. If using the SDK is an option, NodeDisplayCallback provides such functionality…
You need to wrap the layer name into a MaxPlus.WStr object: import MaxPlus MaxPlus.LayerManager.CreateLayer(“foobar”) MaxPlus.LayerManager.SetCurrent…
IMHO in that case it’s better to use classes that support dynamic array sizes like INodeTab, MaxSDK::Array and stl vector (for internal plugin stuff) …
Could you provide an example please? It should work with all strings. JasonB: And it converts relative paths to oddly formed absolute paths fo…
($.material.diffusemap.filename as AssetUser).getFullFilePath() Have a look at AssetUser for more information
I think the Z-Buffer flag has to be cleared like this: (rlim & (~GW_Z_BUFFER))