home *** CD-ROM | disk | FTP | other *** search
/ The Net: Ultimate Internet Guide / WWLCD1.ISO / pc / workshop / prog / msconf / confsdk.exe / DLG.C < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-23  |  7.9 KB  |  329 lines

  1. /* ----------------------------------------------------------------------
  2.  
  3.     CNFTEST sample for Microsoft ActiveX Conferencing API
  4.  
  5.     Unpublished work.
  6.     Copyright (c) 1996, Microsoft Corporation
  7.     All rights reserved.
  8.  
  9.     dlg.c
  10.  
  11.     Dialogs
  12.  
  13.   ---------------------------------------------------------------------- */
  14.  
  15. #include "main.h"
  16.  
  17. #include "resource.h"
  18. #define IDR_ADDR_FIRST     IDR_ADDR_UNKNOWN
  19. #define IDR_ADDR_LAST      IDR_ADDR_ISDN
  20.  
  21. // Local dialog procs
  22. LRESULT CALLBACK ConferenceDlgProc(HWND hdlg, UINT uMsg, WPARAM wparam, LPARAM lparam);
  23.  
  24.  
  25.  
  26. /*  D L G  C O N F E R E N C E  C O N N E C T */
  27. /*----------------------------------------------------------------------------
  28.     %%Function: DlgConferenceConnect
  29.  
  30. ----------------------------------------------------------------------------*/
  31. BOOL DlgConferenceConnect(VOID)
  32. {
  33.     ASSERT((IDR_ADDR_UNKNOWN - IDR_ADDR_FIRST) == CONF_ADDR_UNKNOWN);
  34.     ASSERT((IDR_ADDR_IP - IDR_ADDR_FIRST) == CONF_ADDR_IP);
  35.     ASSERT((IDR_ADDR_MACHINE - IDR_ADDR_FIRST) == CONF_ADDR_MACHINENAME);
  36.     ASSERT((IDR_ADDR_PSTN - IDR_ADDR_FIRST) == CONF_ADDR_PSTN);
  37.  
  38.     ASSERT((IDC_MT_DATA  - IDC_MT_DATA) == 0);
  39.     ASSERT((IDC_MT_AUDIO - IDC_MT_DATA) == 1);
  40.     ASSERT((IDC_MT_VIDEO - IDC_MT_DATA) == 2);
  41.  
  42.     return (0 == DialogBox(ghInst, MAKEINTRESOURCE(IDD_CONFERENCE),
  43.         ghwndMain, (DLGPROC)ConferenceDlgProc));
  44. }
  45.  
  46.  
  47. /*  C O N F E R E N C E  D L G  P R O C */
  48. /*----------------------------------------------------------------------------
  49.     %%Function: ConferenceDlgProc
  50.  
  51. ----------------------------------------------------------------------------*/
  52. LRESULT CALLBACK ConferenceDlgProc(HWND hdlg, UINT uMsg, WPARAM wparam, LPARAM lparam)
  53. {
  54.     switch (uMsg)
  55.     {
  56.     case WM_INITDIALOG:
  57.         CenterWindow(hdlg, ghwndMain);
  58.  
  59.         SetDlgItemText(hdlg, IDE_CONFNAME, gPref.szConferenceName);
  60.         SetDlgItemText(hdlg, IDE_ADDR, gPref.szDefName);
  61.         SetDlgItemInt(hdlg, IDE_HCONF, (UINT) gPref.hConf, fFalse);
  62.         CheckRadioButton(hdlg, IDR_ADDR_FIRST, IDR_ADDR_LAST,
  63.                 IDR_ADDR_FIRST + gPref.iAddrType);
  64.  
  65.         { // check media types
  66.             int id;
  67.             DWORD dwFlag = 0x01;
  68.             for (id = IDC_MT_DATA; id <= IDC_MT_VIDEO; id++)
  69.             {
  70.                 CheckDlgButton(hdlg, id, 0 != (gPref.dwMediaType & dwFlag));
  71.                 dwFlag <<= 1;
  72.             }
  73.         }
  74.  
  75.            return fTrue;
  76.  
  77.     case WM_COMMAND:
  78.         switch (GET_WM_COMMAND_ID(wparam, lparam))
  79.         {
  80.         case IDOK:
  81.             gPref.iAddrType = GetRadioButton(hdlg, IDR_ADDR_FIRST, IDR_ADDR_LAST)
  82.                 - IDR_ADDR_FIRST;
  83.  
  84.             GetDlgItemText(hdlg, IDE_CONFNAME,
  85.                 gPref.szConferenceName, sizeof(gPref.szConferenceName));
  86.             GetDlgItemText(hdlg, IDE_ADDR,
  87.                 gPref.szDefName, sizeof(gPref.szDefName));
  88.             gPref.hConf = (HCONF) GetDlgItemInt(hdlg, IDE_HCONF, NULL, fFalse);
  89.  
  90.             { // check media types
  91.                 int id;
  92.                 DWORD dwFlag = 0x01;
  93.                 gPref.dwMediaType = 0;
  94.                 for (id = IDC_MT_DATA; id <= IDC_MT_VIDEO; id++)
  95.                 {
  96.                     if (IsDlgButtonChecked(hdlg, id))
  97.                         gPref.dwMediaType |= dwFlag;
  98.                     dwFlag <<= 1;
  99.                 }
  100.             }
  101.  
  102.             EndDialog(hdlg, 0);
  103.             return fTrue;
  104.  
  105.         case IDCANCEL:
  106.             EndDialog(hdlg, 1);
  107.             return fTrue;
  108.  
  109.         default:
  110.             return fTrue;
  111.         } /* switch (cmd) */
  112.  
  113.     default:
  114.         break;
  115.     } /* switch (uMsg) */
  116.  
  117.     return fFalse;
  118. }
  119.  
  120.  
  121. /*  G U I D  D L G  P R O C */
  122. /*----------------------------------------------------------------------------
  123.     %%Function: GuidDlgProc
  124.  
  125. ----------------------------------------------------------------------------*/
  126. LRESULT CALLBACK GuidDlgProc(HWND hdlg, UINT uMsg, WPARAM wparam, LPARAM lparam)
  127. {
  128.     switch (uMsg)
  129.     {
  130.     case WM_INITDIALOG:
  131.     {
  132.         CHAR sz[MAX_PATH];
  133.  
  134.         CenterWindow(hdlg, ghwndMain);
  135.  
  136.         GuidToSz(&gPref.guid, sz);
  137.         SetDlgItemText(hdlg, IDE_GUID, sz);
  138.         SetDlgItemText(hdlg, IDE_APPLICATION, gPref.szAppName);
  139.         SetDlgItemText(hdlg, IDE_COMMANDLINE, gPref.szCmdLine);
  140.         SetDlgItemText(hdlg, IDE_DIRECTORY,   gPref.szCurrDir);
  141.  
  142.            return fTrue;
  143.     }
  144.  
  145.     case WM_COMMAND:
  146.         switch (GET_WM_COMMAND_ID(wparam, lparam))
  147.         {
  148.         case IDOK:
  149.         {
  150.             CHAR sz[MAX_PATH];
  151.  
  152.             GetDlgItemText(hdlg, IDE_APPLICATION,
  153.                 gPref.szAppName, sizeof(gPref.szAppName));
  154.             GetDlgItemText(hdlg, IDE_COMMANDLINE,
  155.                 gPref.szCmdLine, sizeof(gPref.szCmdLine));
  156.             GetDlgItemText(hdlg, IDE_DIRECTORY,
  157.                 gPref.szCurrDir, sizeof(gPref.szCurrDir));
  158.             GetDlgItemText(hdlg, IDE_GUID, sz, sizeof(sz));
  159.             SzToGuid(sz, &gPref.guid);
  160.  
  161.             EndDialog(hdlg, 0);
  162.             return fTrue;
  163.         }
  164.  
  165.         case IDCANCEL:
  166.             EndDialog(hdlg, 1);
  167.             return fTrue;
  168.  
  169.         default:
  170.             return fTrue;
  171.         } /* switch (cmd) */
  172.  
  173.     default:
  174.         break;
  175.     } /* switch (uMsg) */
  176.  
  177.     return fFalse;
  178. }
  179.  
  180.  
  181. /*  D L G  G U I D */
  182. /*----------------------------------------------------------------------------
  183.     %%Function: DlgGuid
  184.  
  185. ----------------------------------------------------------------------------*/
  186. BOOL DlgGuid(VOID)
  187. {
  188.     return (0 == DialogBox(ghInst, MAKEINTRESOURCE(IDD_SETGUID),
  189.         ghwndMain, (DLGPROC)GuidDlgProc));
  190. }
  191.  
  192.  
  193.  
  194. /*  R E M O T E  D L G  P R O C */
  195. /*----------------------------------------------------------------------------
  196.     %%Function: RemoteDlgProc
  197.  
  198. ----------------------------------------------------------------------------*/
  199. LRESULT CALLBACK RemoteDlgProc(HWND hdlg, UINT uMsg, WPARAM wparam, LPARAM lparam)
  200. {
  201.     switch (uMsg)
  202.     {
  203.     case WM_INITDIALOG:
  204.     {
  205.         CHAR sz[MAX_PATH];
  206.  
  207.         CenterWindow(hdlg, ghwndMain);
  208.  
  209.         GuidToSz(&gPref.guidRemote, sz);
  210.         SetDlgItemText(hdlg, IDE_GUID, sz);
  211.         SetDlgItemInt(hdlg,  IDE_USERID, gPref.dwRemoteId, fFalse);
  212.  
  213.            return fTrue;
  214.     }
  215.  
  216.     case WM_COMMAND:
  217.         switch (GET_WM_COMMAND_ID(wparam, lparam))
  218.         {
  219.         case IDOK:
  220.         {
  221.             CHAR sz[MAX_PATH];
  222.  
  223.             gPref.dwRemoteId = GetDlgItemInt(hdlg, IDE_USERID, NULL, fFalse);
  224.  
  225.             GetDlgItemText(hdlg, IDE_GUID, sz, sizeof(sz));
  226.             SzToGuid(sz, &gPref.guidRemote);
  227.  
  228.             EndDialog(hdlg, 0);
  229.             return fTrue;
  230.         }
  231.  
  232.         case IDCANCEL:
  233.             EndDialog(hdlg, 1);
  234.             return fTrue;
  235.  
  236.         default:
  237.             return fTrue;
  238.         } /* switch (cmd) */
  239.  
  240.     default:
  241.         break;
  242.     } /* switch (uMsg) */
  243.  
  244.     return fFalse;
  245. }
  246.  
  247.  
  248. /*  D L G  L A U N C H  R E M O T E */
  249. /*----------------------------------------------------------------------------
  250.     %%Function: DlgLaunchRemote
  251.  
  252. ----------------------------------------------------------------------------*/
  253. BOOL DlgLaunchRemote(VOID)
  254. {
  255.     return (0 == DialogBox(ghInst, MAKEINTRESOURCE(IDD_LAUNCHREMOTE),
  256.         ghwndMain, (DLGPROC)RemoteDlgProc));
  257. }
  258.  
  259.  
  260.  
  261. /*  D A T A  D L G  P R O C */
  262. /*----------------------------------------------------------------------------
  263.     %%Function: DataDlgProc
  264.  
  265. ----------------------------------------------------------------------------*/
  266. LRESULT CALLBACK DataDlgProc(HWND hdlg, UINT uMsg, WPARAM wparam, LPARAM lparam)
  267. {
  268.     switch (uMsg)
  269.     {
  270.     case WM_INITDIALOG:
  271.     {
  272.         CHAR sz[MAX_PATH];
  273.  
  274.         CenterWindow(hdlg, ghwndMain);
  275.  
  276.         GuidToSz(&gPref.guidRemote, sz);
  277.         SetDlgItemText(hdlg, IDE_GUID, sz);
  278.         SetDlgItemInt(hdlg,  IDE_USERID, gPref.dwRemoteId, fFalse);
  279.         SetDlgItemText(hdlg, IDE_DATA, gPref.szData);
  280.  
  281.            return fTrue;
  282.     }
  283.  
  284.     case WM_COMMAND:
  285.         switch (GET_WM_COMMAND_ID(wparam, lparam))
  286.         {
  287.         case IDOK:
  288.         {
  289.             CHAR sz[MAX_PATH];
  290.  
  291.             GetDlgItemText(hdlg, IDE_DATA, gPref.szData, sizeof(gPref.szData));
  292.             gPref.dwRemoteId = GetDlgItemInt(hdlg, IDE_USERID, NULL, fFalse);
  293.  
  294.             GetDlgItemText(hdlg, IDE_GUID, sz, sizeof(sz));
  295.             SzToGuid(sz, &gPref.guidRemote);
  296.  
  297.             EndDialog(hdlg, 0);
  298.             return fTrue;
  299.         }
  300.  
  301.         case IDCANCEL:
  302.             EndDialog(hdlg, 1);
  303.             return fTrue;
  304.  
  305.         default:
  306.             return fTrue;
  307.         } /* switch (cmd) */
  308.  
  309.     default:
  310.         break;
  311.     } /* switch (uMsg) */
  312.  
  313.     return fFalse;
  314. }
  315.  
  316.  
  317. /*  D L G  S E N D  D A T A */
  318. /*----------------------------------------------------------------------------
  319.     %%Function: DlgSendData
  320.  
  321. ----------------------------------------------------------------------------*/
  322. BOOL DlgSendData(VOID)
  323. {
  324.     return (0 == DialogBox(ghInst, MAKEINTRESOURCE(IDD_SENDDATA),
  325.         ghwndMain, (DLGPROC)DataDlgProc));
  326. }
  327.  
  328.  
  329.