home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / RCDO_C02.ZIP / RCCDO.C < prev    next >
C/C++ Source or Header  |  1992-12-01  |  7KB  |  203 lines

  1. /* E:\PMBUILD\RCCDO.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_WINDIALOGS
  11. #define INCL_GPI
  12. #define INCL_DOS
  13. #include <os2.h>
  14. #include "rccdo.h"
  15. MRESULT EXPENTRY winproc1(HWND, ULONG, MPARAM, MPARAM);
  16.  /* start enum list of check box */
  17. enum   en_check_box {    en_cb_check
  18.                          ,    en_cb_checker2
  19.                          ,    en_cb_Acheck
  20.    }; /* end enum list of check box */
  21.  /* boolean table of all  checkbox each is set to false */
  22. BOOL check_box[3];
  23. ULONG  radio_button[1];  /*boolean table of dialog radio buttons where 1 dialog = 1 radion button */
  24. MRESULT EXPENTRY dlgproc1(HWND, ULONG, MPARAM, MPARAM);
  25. enum en_radio_button { en_rb_Open_CH
  26.               }; /* end enum list of radio buttons, one button for each dialog */
  27.  
  28. HAB hab;
  29. HWND  hwndmain, hwndCl;
  30. main(int argc, char *argv)
  31. {
  32. QMSG qmsg;
  33.  HMQ hmq;
  34.  HPS hps;
  35.  ULONG fcfData = FCF_TITLEBAR | FCF_SYSMENU | FCF_MENU |
  36.           FCF_ICON |
  37.            FCF_SIZEBORDER | FCF_MINMAX  | FCF_SYSMODAL |
  38.            FCF_SHELLPOSITION  | FCF_TASKLIST;
  39.  
  40.  hab = WinInitialize(0ul);
  41.  hmq = WinCreateMsgQueue(hab,0ul);
  42.  WinRegisterClass(hab ,"Rccdo",winproc1,CS_SIZEREDRAW ,0);
  43.  hwndmain = WinCreateStdWindow(HWND_DESKTOP, WS_VISIBLE,
  44.    &fcfData,"Rccdo","Rccdo",
  45.    0l,(HMODULE)NULL,Rccdo,&hwndCl);
  46.  while ( WinGetMsg(hab,&qmsg, 0ul,0ul,0ul))
  47.     WinDispatchMsg( hab, &qmsg );
  48.  WinDestroyWindow(hwndCl);
  49.  WinDestroyMsgQueue( hmq );
  50.  WinTerminate( hab );
  51. }
  52.  
  53. MRESULT EXPENTRY winproc1(HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
  54.  {
  55.    ULONG rc;
  56.    HPS hps;
  57.    RECTL rectl;
  58.    switch(msg)
  59.      {
  60.     case WM_COMMAND:
  61.        switch (SHORT1FROMMP(mp1))
  62.            { /* menu pulldowns and choices*/
  63.        case  File_AB: /* SUBMENU */
  64.          break;
  65.        case  Open_CH: /* MENUITEM */
  66.               WinDlgBox(HWND_DESKTOP ,hwndmain,dlgproc1,(HMODULE)0,Open_CH,NULL);
  67.          break;
  68.        case  Print_CH: /* MENUITEM */
  69.          break;
  70.        case  ID_Separator2: /* MENUITEM */
  71.          break;
  72.        case  Exit_CH: /* MENUITEM */
  73.         WinPostMsg(hwnd,WM_QUIT,0l,0l);
  74.          break;
  75.        case  Help_AB: /* SUBMENU */
  76.          break;
  77.        case  HelpForHelp: /* MENUITEM */
  78.          break;
  79.        case  ExtendedHelp: /* MENUITEM */
  80.          break;
  81.        case  KeysHelp: /* MENUITEM */
  82.          break;
  83.        case  HelpIndex: /* MENUITEM */
  84.          break;
  85.       }
  86.     break;
  87.    case WM_CONTROL:
  88.     break;
  89.    case WM_CREATE:
  90.     break;
  91.    case WM_PAINT:
  92.     hps = WinBeginPaint(hwnd,0ul,0ul);
  93.     WinQueryWindowRect(hwnd,&rectl);
  94.     WinFillRect(hps,&rectl,CLR_BLUE);
  95.     WinEndPaint(hps);
  96.     return(FALSE);
  97.     break;
  98.     }
  99.  return(WinDefWindowProc(hwnd,msg,mp1,mp2));
  100. }
  101.  
  102. MRESULT EXPENTRY dlgproc1(HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
  103. {
  104.  switch(msg)
  105.  {
  106.    case WM_INITDLG:
  107.            WinSendDlgItemMsg(hwnd,check ,
  108.                  BM_SETCHECK, 
  109.                      MPFROM2SHORT(check_box[en_cb_check],0),NULL);
  110.            WinSendDlgItemMsg(hwnd,checker2 ,
  111.                  BM_SETCHECK, 
  112.                      MPFROM2SHORT(check_box[en_cb_checker2],0),NULL);
  113.            WinSendDlgItemMsg(hwnd,Acheck ,
  114.                  BM_SETCHECK, 
  115.                      MPFROM2SHORT(check_box[en_cb_Acheck],0),NULL);
  116.         if  (radio_button[0])  /* this radio button is on */
  117.                 WinSendDlgItemMsg(hwnd,radio_button[0],
  118.                        BM_SETCHECK, 
  119.                           MPFROM2SHORT(TRUE,0),NULL);
  120.     break;
  121.    case WM_CONTROL:
  122.      switch ( SHORT1FROMMP(mp1) )
  123.         {
  124.           case check: /* CHECKBOX */
  125.              if (check_box[en_cb_check])
  126.                   check_box[en_cb_check] = FALSE;
  127.              else    check_box[en_cb_check] = TRUE;
  128.              WinSendDlgItemMsg(hwnd,check ,
  129.                    BM_SETCHECK, 
  130.                        MPFROM2SHORT(check_box[en_cb_check],0),NULL);
  131.               break;
  132.           case horizontal: /* CONTROL */
  133.               break;
  134.           case vertical: /* CONTROL */
  135.               break;
  136.           case radio_2: /* RADIOBUTTON */
  137.              WinSendDlgItemMsg(hwnd,radio_button[0],
  138.                    BM_SETCHECK, 
  139.                        MPFROM2SHORT(FALSE,0),NULL);
  140.                    radio_button[0] =  radio_2;
  141.               WinSendDlgItemMsg(hwnd,radio_button[0],
  142.                    BM_SETCHECK, 
  143.                        MPFROM2SHORT(TRUE,0),NULL);
  144.               break;
  145.           case checker2: /* CHECKBOX */
  146.              if (check_box[en_cb_checker2])
  147.                   check_box[en_cb_checker2] = FALSE;
  148.              else    check_box[en_cb_checker2] = TRUE;
  149.              WinSendDlgItemMsg(hwnd,checker2 ,
  150.                    BM_SETCHECK, 
  151.                        MPFROM2SHORT(check_box[en_cb_checker2],0),NULL);
  152.               break;
  153.           case Radio_ID: /* RADIOBUTTON */
  154.              WinSendDlgItemMsg(hwnd,radio_button[0],
  155.                    BM_SETCHECK, 
  156.                        MPFROM2SHORT(FALSE,0),NULL);
  157.                    radio_button[0] =  Radio_ID;
  158.               WinSendDlgItemMsg(hwnd,radio_button[0],
  159.                    BM_SETCHECK, 
  160.                        MPFROM2SHORT(TRUE,0),NULL);
  161.               break;
  162.           }
  163.     break;
  164.    case WM_COMMAND:
  165.      switch ( SHORT1FROMMP(mp1) )
  166.         {
  167.           case check: /* CHECKBOX */
  168.               break;
  169.           case combolistbox: /* COMBOBOX */
  170.               break;
  171.           case entryfield: /* ENTRYFIELD */
  172.               break;
  173.           case listbox: /* LISTBOX */
  174.               break;
  175.           case mle: /* MLE */
  176.               break;
  177.           case push: /* PUSHBUTTON */
  178.                 WinDismissDlg(hwnd,0);
  179.               break;
  180.           case text: /* LTEXT */
  181.               break;
  182.           case radio_2: /* RADIOBUTTON */
  183.               break;
  184.           case checker2: /* CHECKBOX */
  185.               break;
  186.           case Acheck: /* AUTOCHECKBOX */
  187.              check_box[en_cb_Acheck] = WinQueryButtonCheckstate(hwnd,Acheck);
  188.               break;
  189.           case AutoRadio: /* AUTORADIOBUTTON */
  190.               if (WinQueryButtonCheckstate(hwnd,AutoRadio) )
  191.                    radio_button[0] =  AutoRadio;
  192.               break;
  193.           case Radio_ID: /* RADIOBUTTON */
  194.               break;
  195.       }
  196.    default:
  197.       return(WinDefDlgProc(hwnd,msg,mp1,mp2));
  198.       break;
  199.   }
  200.   return (FALSE);
  201. }
  202.  
  203.