Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    BFM_GETCURSORINFO alternative for NodeData

    SDK Help
    0
    1
    127
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      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://developers.maxon.net/forum/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?

      1 Reply Last reply Reply Quote 0
      • First post
        Last post