Dialog code in CoreMessage on new scene.



  • On 26/01/2018 at 03:51, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R18 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    Hello.

    I have a dialog that implements CoreMessage. Whenever a user creates a new scene via File > New, I need this dialog to run some initialization code if it is still open.
    EVMSG_DOCUMENTRECALCULATED is not triggered. How can I do that ?

    Thank you for your time.



  • On 30/01/2018 at 06:27, xxxxxxxx wrote:

    Hi,

    you can check BFM_CORE_UPDATECOMMANDS, but you'll receive this not only when a new document is created. So you need to check yourself, if the document changed.

    Int32 MyDialog::Message(const BaseContainer& msg, BaseContainer& result)
    {
    	switch (msg.GetId())
    	{
    		case BFM_CORE_MESSAGE:
    		{
    			const Int32 coreId = msg.GetInt32(BFM_CORE_ID);
    			switch (coreId)
    			{
    				case BFM_CORE_UPDATECOMMANDS:
    					GePrint("    BFM_CORE_UPDATECOMMANDS");
    					break;
    				default:;
    			}
    			break;
    		}
    		default:;
    	}
    	return SUPER::Message(msg, result);
    }
    

Log in to reply