How does GroupBeginInMenuLine() work?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 13/02/2010 at 10:37, xxxxxxxx wrote:

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

    ---------
    Hi,

    can somebody tell me how to use "GroupBeginInMenuLine()" correctly? I try to recreate the default "Coordinate Manager" layout. This has three descriptive text elements in its menu line.

    Here's the "Coordinate Manager" dialog:

    And here's my dialog:

    This is the code to generate the menu line entries:

      
    GroupBeginInMenuLine();   
              GroupBegin(0,BFH_LEFT,3,0,"",0);   
              AddStaticText(0, BFH_LEFT | BFH_SCALEFIT, 0, 0, "Position", 0);   
              AddStaticText(0, BFH_LEFT | BFH_SCALEFIT, 0, 0, "Scale", 0);   
              AddStaticText(0, BFH_LEFT | BFH_SCALEFIT, 0, 0, "Rotation", 0);   
              GroupEnd();   
              GroupEnd();   
    

    How can I orient them left and spread them out to match the coloumns of the editfields?

    Thanx alot in advane, best manuel



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 15/02/2010 at 00:31, xxxxxxxx wrote:

    The menu of the coordinate manager is actually no menu but just a normal dialog group. What makes it appear as menu is the WINDOWPIN dialog element.

    This is the resource code of this line:

      
    GROUP  
    {  
    COLUMNS 1;  
      SCALE_H;  
    SPACE 4,0;  
      GROUP  
      {  
          ROWS 1;  
          SCALE_H;  
            
          WINDOWPIN { ALIGN_LEFT; ALIGN_TOP; };  
          STATICTEXT IDC_HEADLINE1 { SIZE 100,0; SCALE_H; }  
          STATICTEXT IDC_HEADLINE2 { SIZE 100,0; SCALE_H; }  
          STATICTEXT IDC_HEADLINE3 { SIZE 100,0; SCALE_H; }  
      }  
      SEPARATOR { SCALE_H; }  
    }  
    

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 15/02/2010 at 03:24, xxxxxxxx wrote:

    Thanx Matthias, I'll try this.

    Is there a possibility to make this work if the dialog is hard coded as in my case or do I have to use descriptions? I know, using external resources is best practise, but for prototyping in house tools doing it by code is often faster.

    Best Manuel



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 15/02/2010 at 05:58, xxxxxxxx wrote:

    It is possible to hard code it. Have a look at the code below. Make sure to remove the menu bar in the dialog's constructor.

      
    class ListViewDialog : public GeDialog  
    {  
     public:  
         ListViewDialog(void);  
      
         virtual Bool CreateLayout(void);  
    };  
      
    ListViewDialog::ListViewDialog(void)  
    {  
     C4DOS.Cd->AddGadget(Get(),DIALOG_NOMENUBAR,0,NULL,0,0,0,0,NULL,NULL); //removes the menu bar  
    }  
      
    Bool ListViewDialog::CreateLayout(void)  
    {  
     // first call the parent instance  
     Bool res = GeDialog::CreateLayout();  
      
     GroupBegin(0,BFH_SCALE|BFH_LEFT,0,1,String(),0);  
         C4DOS.Cd->AddGadget(Get(),DIALOG_PIN,0,NULL,BFH_LEFT|BFV_TOP,0,0,0,NULL,NULL); //add the window pin  
         AddStaticText(0,BFH_SCALE,100,0,String("Position"),0);  
         AddStaticText(0,BFH_SCALE,100,0,String("Scale"),0);  
         AddStaticText(0,BFH_SCALE,100,0,String("Rotation"),0);  
     GroupEnd();  
      
     return res;  
    }  
    

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 15/02/2010 at 06:04, xxxxxxxx wrote:

    That's very helpful. Thank you very much for your fast answer.

    Best Manuel


Log in to reply