home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / RCDOC4.ZIP / RCCDODLG.C < prev    next >
Text File  |  1993-01-05  |  6KB  |  181 lines

  1. /* E:\PMBUILD\rccdodlg.c produced by vrexx pgm rc-do-c */
  2. /* American Coders Ltd */
  3. /* PO Box 97462 */
  4. /* Raleigh, NC  27462 */
  5. /* (919) 846 - 2014 */
  6. #define INCL_WINBUTTONS
  7. #define INCL_WINSYS
  8. #define INCL_WINFRAMEMGR
  9. #define INCL_WINMENUS
  10. #define INCL_WINENTRYFIELDS
  11. #define INCL_WINMLE
  12. #define INCL_WINDIALOGS
  13. #define INCL_GPI
  14. #define INCL_DOS
  15. #include <os2.h>
  16. #include <stdlib.h>
  17. #include "E:\PMBUILD\rccdo.h"
  18.  /* start char array defines for ENTRY fields */
  19. char sz_entryfield[ 8];
  20. ULONG ul_length_entryfield = 0;
  21.  /* start *char  defines for MLE fields */
  22. char *sz_mle;
  23. ULONG ul_length_mle = 0;
  24.  /* start enum list of check box */
  25. enum   en_check_box {    en_cb_check
  26.                          ,    en_cb_checker2
  27.                          ,    en_cb_Acheck
  28.    }; /* end enum list of check box */
  29.  /* boolean table of all  checkbox each is set to false */
  30. BOOL check_box[3];
  31. ULONG  radio_button[1];  /*boolean table of dialog radio buttons where 1 dialog = 1 radion button */
  32. MRESULT EXPENTRY dlgproc_Open_CH(HWND, ULONG, MPARAM, MPARAM);
  33. enum en_radio_button { en_rb_Open_CH
  34.               }; /* end enum list of radio buttons, one button for each dialog */
  35.  
  36. HAB hab;
  37. HWND  hwndmain, hwndCl;
  38. main(int argc, char *argv)
  39. {
  40. QMSG qmsg;
  41.  HMQ hmq;
  42.  HPS hps;
  43.  hab = WinInitialize(0ul);
  44.  hmq = WinCreateMsgQueue(hab,0ul);
  45. WinDlgBox(HWND_DESKTOP,HWND_DESKTOP,dlgproc_Open_CH,
  46.       0,Open_CH,NULL);
  47.  WinDestroyMsgQueue( hmq );
  48.  WinTerminate( hab );
  49. }
  50.  
  51. MRESULT EXPENTRY dlgproc_Open_CH(HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
  52. {
  53.  switch(msg)
  54.  {
  55.    case WM_INITDLG:
  56.            WinSendDlgItemMsg(hwnd,entryfield ,
  57.                  EM_SETTEXTLIMIT, 
  58.                      MPFROM2SHORT( 8,0),NULL);
  59.            WinSetDlgItemText(hwnd,entryfield, sz_entryfield);
  60.              if (ul_length_mle)
  61.                   WinSetDlgItemText(hwnd,mle, sz_mle);
  62.            WinSendDlgItemMsg(hwnd,check ,
  63.                  BM_SETCHECK, 
  64.                      MPFROM2SHORT(check_box[en_cb_check],0),NULL);
  65.            WinSendDlgItemMsg(hwnd,checker2 ,
  66.                  BM_SETCHECK, 
  67.                      MPFROM2SHORT(check_box[en_cb_checker2],0),NULL);
  68.            WinSendDlgItemMsg(hwnd,Acheck ,
  69.                  BM_SETCHECK, 
  70.                      MPFROM2SHORT(check_box[en_cb_Acheck],0),NULL);
  71.         if  (radio_button[0])  /* this radio button is on */
  72.                 WinSendDlgItemMsg(hwnd,radio_button[0],
  73.                        BM_SETCHECK, 
  74.                           MPFROM2SHORT(TRUE,0),NULL);
  75.     break;
  76.    case WM_CLOSE:
  77.     break;
  78.    case WM_CONTROL:
  79.      switch ( SHORT1FROMMP(mp1) )
  80.         {
  81.           case check: /* CHECKBOX */
  82.              if (check_box[en_cb_check])
  83.                   check_box[en_cb_check] = FALSE;
  84.              else    check_box[en_cb_check] = TRUE;
  85.              WinSendDlgItemMsg(hwnd,check ,
  86.                    BM_SETCHECK, 
  87.                        MPFROM2SHORT(check_box[en_cb_check],0),NULL);
  88.               break;
  89.           case entryfield: /* ENTRYFIELD */
  90.                if (SHORT2FROMMP(mp1) == EN_KILLFOCUS)
  91.                    WinQueryDlgItemText(hwnd,entryfield, 8,sz_entryfield);
  92.               break;
  93.           case horizontal: /* CONTROL */
  94.               break;
  95.           case mle: /* MLE */
  96.                if (SHORT2FROMMP(mp1) == MLN_KILLFOCUS) {
  97.                   ul_length_mle =
  98.                        WinQueryDlgItemTextLength(hwnd,mle);
  99.                   if (ul_length_mle) {
  100.                        if (sz_mle)  
  101.                          free (sz_mle);
  102.                      sz_mle= malloc(++ul_length_mle);
  103.                      WinQueryDlgItemText(hwnd,mle,ul_length_mle ,sz_mle);
  104.                       }
  105.                    else {    /* if there was something there; it is gone now */
  106.                        if (sz_mle)  
  107.                          free (sz_mle);
  108.                         ul_length_mle = 0;
  109.                       }
  110.                    }
  111.               break;
  112.           case vertical: /* CONTROL */
  113.               break;
  114.           case radio_2: /* RADIOBUTTON */
  115.              WinSendDlgItemMsg(hwnd,radio_button[0],
  116.                    BM_SETCHECK, 
  117.                        MPFROM2SHORT(FALSE,0),NULL);
  118.                    radio_button[0] =  radio_2;
  119.               WinSendDlgItemMsg(hwnd,radio_button[0],
  120.                    BM_SETCHECK, 
  121.                        MPFROM2SHORT(TRUE,0),NULL);
  122.               break;
  123.           case checker2: /* CHECKBOX */
  124.              if (check_box[en_cb_checker2])
  125.                   check_box[en_cb_checker2] = FALSE;
  126.              else    check_box[en_cb_checker2] = TRUE;
  127.              WinSendDlgItemMsg(hwnd,checker2 ,
  128.                    BM_SETCHECK, 
  129.                        MPFROM2SHORT(check_box[en_cb_checker2],0),NULL);
  130.               break;
  131.           case Radio_ID: /* RADIOBUTTON */
  132.              WinSendDlgItemMsg(hwnd,radio_button[0],
  133.                    BM_SETCHECK, 
  134.                        MPFROM2SHORT(FALSE,0),NULL);
  135.                    radio_button[0] =  Radio_ID;
  136.               WinSendDlgItemMsg(hwnd,radio_button[0],
  137.                    BM_SETCHECK, 
  138.                        MPFROM2SHORT(TRUE,0),NULL);
  139.               break;
  140.           }
  141.     break;
  142.    case WM_COMMAND:
  143.      switch ( SHORT1FROMMP(mp1) )
  144.         {
  145.           case check: /* CHECKBOX */
  146.               break;
  147.           case combolistbox: /* COMBOBOX */
  148.               break;
  149.           case entryfield: /* ENTRYFIELD */
  150.               break;
  151.           case listbox: /* LISTBOX */
  152.               break;
  153.           case mle: /* MLE */
  154.               break;
  155.           case push: /* PUSHBUTTON */
  156.                 WinDismissDlg(hwnd,0);
  157.               break;
  158.           case text: /* LTEXT */
  159.               break;
  160.           case radio_2: /* RADIOBUTTON */
  161.               break;
  162.           case checker2: /* CHECKBOX */
  163.               break;
  164.           case Acheck: /* AUTOCHECKBOX */
  165.              check_box[en_cb_Acheck] = WinQueryButtonCheckstate(hwnd,Acheck);
  166.               break;
  167.           case AutoRadio: /* AUTORADIOBUTTON */
  168.               if (WinQueryButtonCheckstate(hwnd,AutoRadio) )
  169.                    radio_button[0] =  AutoRadio;
  170.               break;
  171.           case Radio_ID: /* RADIOBUTTON */
  172.               break;
  173.       }
  174.    default:
  175.       return(WinDefDlgProc(hwnd,msg,mp1,mp2));
  176.       break;
  177.   }
  178.   return (FALSE);
  179. }
  180.  
  181.