BFM_GETCURSORINFO alternative for NodeData



  • On 23/06/2014 at 06:52, xxxxxxxx wrote:

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

    ---------
    I am trying to show bubble help for some controls in GUI shown by NodeData (all GUI controls are loaded from description file).
    I found some example using GeDialog and its Message method (https://plugincafe.maxon.net/topic/7408/9180_how-to-implement-tooltips-like-bitmapbutton#36397) :

    virtual Bool Message(const BaseContainer& msg, BaseContainer& result) {
        switch (msg.GetId()) {
            case BFM_GETCURSORINFO: {
                result.SetId(BFM_GETCURSORINFO);
                result.SetLong(RESULT_CURSOR, MOUSE_BUSY);
                result.SetBool(RESULT_SUPPRESSBUBBLE, FALSE);
                result.SetString(RESULT_BUBBLEHELP_TITLE, "Bubble Help Title");
                result.SetString(RESULT_BUBBLEHELP, "Cool description stuff here.");
                result.SetString(RESULT_HELP1, "RESULT_HELP1");
                result.SetString(RESULT_HELP2, "RESULT_HELP2");
                result.SetString(RESULT_HELP3, "RESULT_HELP3");
                result.SetString(RESULT_HELP4, "RESULT_HELP4");
                break;
        }
    }
            return super::Message(msg, result);
        }
    

    Obviously, I cannot use this method directly as NodeData has no message handler for GUI messages. Also, I would stil need to determine, which control is located at position given by BFM_DRAG_SCREENX/BFM_DRAG_SCREENY.

    Is there anything I could use instead?


Log in to reply