Multi-Edit's Top Bar Image - Click here to Return to the Home Page spacer image for website layout News regarding our IDE -click this image- Products of MESI Page -click this image- Support Avenues, Forums, Emails etc. -click this image- Purchase Online -click this image- Resources, Downloads, Zips for Mult-Edit -click this image- Company NFO -click this image- Website Sitemap -click this image-

How to create a Tabular Dialog
part 2 of 4


Below we create a second dialog. This is a little more complex as we add drop down boxes and radio buttons.



void myConfigDialog( ) Trans2
{

  int dlg = parse_int("/DLG=", mparm_str);
  int m   = parse_int("/M=", mparm_str);
  int res = parse_int("/RES=", mparm_str);

  switch ( m ) {
    case 0 :
      call _BuildCtrls;
      call _EndDlg;
      DlgKill( dlg );
      return_int = 0;
      break;

    case 1 :
      call _BuildCtrls;
      break;

    case 2 :
      call _EndDlg;
      break;
  }

  return();

_BuildCtrls:
  if(!dlg)
    DlgCreate( dlg );

  //Adding a groupbox (group1) and radio buttons
  DlgAddCtrl( dlg,
              DLG_GroupBox,
              "Group 1",
              0,
              1,
              35,
              3,
              4000,
              0,
              "" );

  DlgAddCtrl( dlg,
              DLG_RadioButton,
              "Yes",
              DLG_PosOffset + 5,
              DLG_PosOffset + 1,
              0,
              0,
              5000,
              0,
              "" );

  DlgAddCtrl( dlg,
              DLG_RadioButton,
              "No",
              DLG_PosOffset,
              DLG_PosOffset + 1,
              0,
              0,
              5001,
              0,
              "" );

  //Adding a second groupbox (group2) and radio buttons
  DlgAddCtrl( dlg,
              DLG_GroupBox,
              "Group 2",
              38,
              1,
              35,
              3,
              4001,
              0,
              "" );

  DlgAddCtrl( dlg,
              DLG_RadioButton,
              "Yes",
              DLG_PosOffset + 5,
              DLG_PosOffset + 1,
              0,
              0,
              5002,
              0,
              "" );

  DlgAddCtrl( dlg,
              DLG_RadioButton,
              "No",
              DLG_PosOffset,
              DLG_PosOffset + 1,
              0,
              0,
              5003,
              0,
              "" );

  //Adding a third groupbox (group3) and radio buttons
  DlgAddCtrl( dlg,
              DLG_GroupBox,
              "Group 3",
              0,
              DLG_PosOffset + 1,
              73,
              10,
              -3,
              0,
              "");

  DlgAddCtrl( dlg,
              DLG_Static,
              "Drop down 1",
              Dlg_PosOffset + 12,
              Dlg_PosOffset + 1,
              0,
              0,
              -1,
              0,
              "");

  DlgAddCtrl( dlg,
              DLG_Choice,
              "Yes()No()Sure()Maybe()",
              DLG_PosOffset,
              DLG_PosOffset + 1,
              0,
              0,
              5004,
              0,
              "" );

  DlgAddCtrl( dlg,
              DLG_Static,
              "Drop down 2",
              Dlg_PosOffset + 30,
              Dlg_NegOffset + 1,
              0,
              0,
              -1,
              0,
              "");

  DlgAddCtrl( dlg,
              DLG_Choice,
              "Yes()No()Sure()Maybe()",
              DLG_PosOffset,
              DLG_PosOffset + 1,
              0,
              0,
              5005,
              0,
              "" );

  DlgAddCtrl( dlg,
              DLG_Static,
              "Text Area",
              Dlg_NegOffset + 30,
              Dlg_PosOffset + 2,
              0,
              0,
              -1,
              0,
              "");

  DlgAddCtrl( dlg,
              DLG_BlackFrame,
              "",
              DLG_PosOffset,
              DLG_PosOffset + 1,
              53,
              4,
              -1,
              0,
              "" );

  if ( m == 0)
  {
    DlgAddCtrl( dlg, DLG_PushButton,
                "&OK",
                42 - ((DLG_StanBtnWidth + 1) * 2),
                15,
                DLG_StanBtnWidth,
                0,
                2001,
                DLGF_DefButton,
                "/R=1");

    DlgAddCtrl( dlg,
                DLG_PushButton,
                "&Cancel",
                42 - (DLG_StanBtnWidth + 1),
                DLG_PosOffset,
                DLG_StanBtnWidth,
                0,
                2000,
                0,
                "/R=0");

    DlgAddCtrl( dlg,
                DLG_PushButton,
                "&Help",
                42,
                DLG_PosOffset,
                DLG_StanBtnWidth,
                0,
                2002,
                0,
                "/R=2");

    res = DlgExecute( dlg, 1000, "Multi-Edit's Configure Dialog", "", "", 0 );
  }
  ret;

_EndDlg:
  if ( res )
  {
    str dlgResult;


    /************************************************************
     Here we collect the information received from the
     dialog and display it in the status bar.  First
     see which check box was selected in group 1
     ***********************************************************/
    if ( DlgGetInt(dlg, 5000) == 1) {
      dlgResult = "Group 1: yes ";
    }
    else if ( DlgGetInt(dlg, 5001) == 1 ) {
      dlgResult = "Group 1: no ";
    }

    //Group 2 values...
    if ( DlgGetInt(dlg, 5002) == 1) {
      dlgResult = dlgResult + "Group 2: yes ";
    }
    else if ( DlgGetInt(dlg, 5003) == 1 ){
      dlgResult = "Group 2: no ";
    }

    //drop down 1
    dlgResult = dlgResult + "Drop down 1: " + dlgGetStr(dlg, 5004);

    //drop down 2
    dlgResult = dlgResult + " Drop down 2: " + dlgGetStr(dlg, 5005);

    //displaying the dialog results.
    make_message( dlgResult );

    //redraw the screen
    Redraw;
  }
  ret;
}  // myConfigDialog
Onward to part 3
'Creating a tabular dialog box'