THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 02/06/2010 at 13:41, xxxxxxxx wrote:
Cinema 4D Version: R11+
Platform: Windows ; Mac ;
Language(s) : C++ ;
As the title suggests, I'm having trouble figuring out how to add an InExcludeCustomGui interface/box to a Dialog (preferably using a .res file, but built up in code, if I have to).
I have created a dialog using the Resource Editor, which includes a IN_EXCLUDE gadget (ID is "IDC_REMESH" in this case) and when I open the dialog, it displays fine.
Now, I need to be able to access that gadget... I can get a pointer to the InExcludeCustomGui (the gadget itself) using FindCustomGui(), but in order to access the links within it, what I really need is a pointer to the associated 'InExcludeData' - and therein lies the rub...
After a very thourough and extensive search through the available SDK documentation - as well as this forum - I have yet to find ANY example or instructions on how to go about getting at the 'InExcludeData' in a DIALOG (there's multiple discussions in the forum about accessing them from Tags and Shaders and Objects, etc., but nothing on using one in a Dialog).
From my research, in every other case, you would normally get a 'InExcludeData' ptr from either a GeData (using GetCustomDataType()) or from some BaseContainer (typically from GetDataInstance() on some Tag plugin or object).
The problem is that I can't figure out how to get one with a Dialog / InExcludeCustomGui combo...
if( !(GeDialog::CreateLayout() && LoadDialogResource(DLG_REMAPPO,NULL,0))) return false; m_pInExcludeList = (InExcludeCustomGui * )FindCustomGui(IDC_REMESH, CUSTOMGUI_INEXCLUDE_LIST); GeData inex = m_pInExcludeList->GetData(); // <-- nope! .. it's a TriState<GeData> ... can't do that // m_pInExcludeData = static_cast<InExcludeData*>(inex.GetCustomDataType(CUSTOMDATATYPE_INEXCLUDE_LIST)); m_pInExcludeData = ???
Anyone have a working example or any clues?