SetDescIDState IDS_DELETE_TAG [SOLVED]



  • On 15/09/2015 at 09:20, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R17 
    Platform:      Mac OSX  ; 
    Language(s) :     C++  ;

    ---------
    Hi,

    I'd like to hide the "Delete Tag" button on one of my objects.

    I think the code should be like this:

      
    myObject->SetDescIDState(DescID(ID_TAGLIST, Tprotection, IDS_DELETE_TAG), DESCIDSTATE_HIDDEN);  
    

    I found IDS_DELETE_TAG inside c4d_strings.str, but I don't know how to include it in my project, if I have to, nor how to access it in a different way.

    Does anybody know how to do this?

    If you need more information, feel free to ask.

    Thanks in advance for your help and time!



  • On 16/09/2015 at 05:19, xxxxxxxx wrote:

    Hello,

    IDS_DELETE_TAG is the identifier of the label of the delete button, not its ID. Also, there is not only one delete tag button, but a delete button for each tag that is displayed with the object. It has to be this ways since every button deletes a different tag.

    So to hide such a button you would have to construct the ID of that button. The ID is:

      
    DescID tagid = DescID(DescLevel(ID_TAGLIST, DTYPE_GROUP, 0), DescLevel(tag->GetType(), DTYPE_GROUP, 0));  
    DescID buttonid = tagid + DescLevel(501, DTYPE_BUTTON, 0);  
    

    best wishes,
    Sebastian



  • On 16/09/2015 at 07:53, xxxxxxxx wrote:

    Hi Sebastian,

    That works, thanks for your answer!!

    You can mark this thread as solved.


Log in to reply