Annotation of mstools/samples/ddeml/server/dialog.c, revision 1.1.1.2

1.1       root        1: #include <string.h>
                      2: #include <stdio.h>
                      3: #include "server.h"
                      4: #include "huge.h"
                      5: 
                      6: /****************************************************************************
                      7:  *                                                                          *
                      8:  *  FUNCTION   : DoDialog()                                                 *
                      9:  *                                                                          *
                     10:  *  PURPOSE    : Generic dialog invocation routine.  Handles procInstance   *
1.1.1.2 ! root       11:  *               stuff, focus management and param passing.                 *
1.1       root       12:  *  RETURNS    : result of dialog procedure.                                *
                     13:  *                                                                          *
                     14:  ****************************************************************************/
                     15: INT FAR DoDialog(
                     16: LPSTR lpTemplateName,
1.1.1.2 ! root       17: DLGPROC lpDlgProc,
        !            18: LPARAM param,
1.1       root       19: BOOL fRememberFocus)
                     20: {
1.1.1.2 ! root       21:     INT iRet;
1.1       root       22:     HWND hwndFocus;
                     23:     WORD cRunawayT;
                     24: 
                     25:     cRunawayT = cRunaway;
                     26:     cRunaway = 0;           // turn off runaway during dialogs.
1.1.1.2 ! root       27: 
1.1       root       28:     if (fRememberFocus)
                     29:         hwndFocus = GetFocus();
                     30:     lpDlgProc = MakeProcInstance(lpDlgProc, hInst);
1.1.1.2 ! root       31:     iRet = DialogBoxParam(hInst, lpTemplateName, hwndServer, lpDlgProc, param);
1.1       root       32:     FreeProcInstance(lpDlgProc);
                     33:     if (fRememberFocus)
                     34:         SetFocus(hwndFocus);
                     35: 
                     36:     cRunaway = cRunawayT;   // restore runaway state.
1.1.1.2 ! root       37:     return iRet;
1.1       root       38: }
                     39: 
                     40: 
                     41: /****************************************************************************
                     42: 
                     43:     FUNCTION: About(HWND, unsigned, WORD, LONG)
                     44: 
                     45:     PURPOSE:  Processes messages for "About" dialog box
                     46: 
                     47:     MESSAGES:
                     48: 
                     49:         WM_INITDIALOG - initialize dialog box
                     50:         WM_COMMAND    - Input received
                     51: 
                     52:     COMMENTS:
                     53: 
                     54:         No initialization is needed for this particular dialog box, but TRUE
                     55:         must be returned to Windows.
                     56: 
                     57:         Wait for user to click on "Ok" button, then close the dialog box.
                     58: 
                     59: ****************************************************************************/
                     60: 
                     61: BOOL  APIENTRY About(hDlg, message, wParam, lParam)
                     62: HWND hDlg;                                /* window handle of the dialog box */
                     63: UINT message;                         /* type of message                 */
                     64: WPARAM wParam;                              /* message-specific information    */
1.1.1.2 ! root       65: LPARAM lParam;
1.1       root       66: {
                     67:     switch (message) {
                     68:         case WM_INITDIALOG:                /* message: initialize dialog box */
                     69:             return (TRUE);
                     70: 
                     71:         case WM_COMMAND:                      /* message: received a command */
1.1.1.2 ! root       72:             if (LOWORD(wParam) == IDOK                /* "OK" box selected?          */
        !            73:                 || LOWORD(wParam) == IDCANCEL) {      /* System menu close command? */
1.1       root       74:                 EndDialog(hDlg, TRUE);        /* Exits the dialog box        */
                     75:                 return (TRUE);
                     76:             }
                     77:             break;
                     78:     }
                     79:     return (FALSE);                           /* Didn't process a message    */
                     80: }
                     81: 
                     82: 
                     83: 
                     84: 
                     85: BOOL  APIENTRY RenderDelayDlgProc(
                     86: HWND          hwnd,
                     87: register UINT msg,
                     88: register WPARAM wParam,
1.1.1.2 ! root       89: LPARAM lParam)
1.1       root       90: {
                     91:     switch (msg){
                     92:     case WM_INITDIALOG:
                     93:         SetWindowText(hwnd, "Data Render Delay");
                     94:         SetDlgItemInt(hwnd, IDEF_VALUE, RenderDelay, FALSE);
                     95:         SetDlgItemText(hwnd, IDTX_VALUE, "Delay in milliseconds:");
                     96:         return(1);
                     97:         break;
                     98: 
                     99:     case WM_COMMAND:
1.1.1.2 ! root      100:         switch (LOWORD(wParam)) {
1.1       root      101:         case IDOK:
                    102:             RenderDelay = GetDlgItemInt(hwnd, IDEF_VALUE, NULL, FALSE);
1.1.1.2 ! root      103:             // fall through
1.1       root      104:         case IDCANCEL:
                    105:             EndDialog(hwnd, 0);
                    106:             break;
                    107: 
                    108:         default:
                    109:             return(FALSE);
                    110:         }
                    111:         break;
                    112:     }
                    113:     return(FALSE);
                    114: }
                    115: 
                    116: 
                    117: 
                    118: 
                    119: BOOL  APIENTRY SetTopicDlgProc(
                    120: HWND          hwnd,
                    121: register UINT msg,
                    122: register WPARAM wParam,
1.1.1.2 ! root      123: LPARAM lParam)
1.1       root      124: {
                    125:     CHAR szT[MAX_TOPIC + 10];
1.1.1.2 ! root      126: 
1.1       root      127:     switch (msg){
                    128:     case WM_INITDIALOG:
                    129:         SetWindowText(hwnd, "Set Topic Dialog");
                    130:         SetDlgItemText(hwnd, IDEF_VALUE, szTopic);
                    131:         SetDlgItemText(hwnd, IDTX_VALUE, "Topic:");
                    132:         return(1);
                    133:         break;
                    134: 
                    135:     case WM_COMMAND:
1.1.1.2 ! root      136:         switch (LOWORD(wParam)) {
1.1       root      137:         case IDOK:
                    138:             DdeFreeStringHandle(idInst, topicList[1].hszTopic);
                    139:             GetDlgItemText(hwnd, IDEF_VALUE, szTopic, MAX_TOPIC);
                    140:             topicList[1].hszTopic = DdeCreateStringHandle(idInst, szTopic, 0);
                    141:             strcpy(szT, szServer);
                    142:             strcat(szT, " | ");
                    143:             strcat(szT, szTopic);
                    144:             SetWindowText(hwndServer, szT);
1.1.1.2 ! root      145:             // fall through
1.1       root      146:         case IDCANCEL:
                    147:             EndDialog(hwnd, 0);
                    148:             break;
                    149: 
                    150:         default:
                    151:             return(FALSE);
                    152:         }
                    153:         break;
                    154:     }
                    155:     return(FALSE);
                    156: }
                    157: 
                    158: 
                    159: BOOL  APIENTRY SetServerDlgProc(
                    160: HWND          hwnd,
                    161: register UINT msg,
                    162: register WPARAM wParam,
1.1.1.2 ! root      163: LPARAM lParam)
1.1       root      164: {
                    165:     CHAR szT[MAX_TOPIC + 10];
1.1.1.2 ! root      166: 
1.1       root      167:     switch (msg){
                    168:     case WM_INITDIALOG:
                    169:         SetWindowText(hwnd, "Set Server Name Dialog");
                    170:         SetDlgItemText(hwnd, IDEF_VALUE, szServer);
                    171:         SetDlgItemText(hwnd, IDTX_VALUE, "Server:");
                    172:         return(1);
                    173:         break;
                    174: 
                    175:     case WM_COMMAND:
1.1.1.2 ! root      176:         switch (LOWORD(wParam)) {
1.1       root      177:         case IDOK:
                    178:             GetDlgItemText(hwnd, IDEF_VALUE, szServer, MAX_TOPIC);
                    179:             DdeNameService(idInst, hszAppName, 0, DNS_UNREGISTER);
                    180:             DdeFreeStringHandle(idInst, hszAppName);
                    181:             hszAppName = DdeCreateStringHandle(idInst, szServer, 0);
                    182:             DdeNameService(idInst, hszAppName, 0, DNS_REGISTER);
                    183:             strcpy(szT, szServer);
                    184:             strcat(szT, " | ");
                    185:             strcat(szT, szTopic);
                    186:             SetWindowText(hwndServer, szT);
1.1.1.2 ! root      187:             // fall through
1.1       root      188:         case IDCANCEL:
                    189:             EndDialog(hwnd, 0);
                    190:             break;
                    191: 
                    192:         default:
                    193:             return(FALSE);
                    194:         }
                    195:         break;
                    196:     }
                    197:     return(FALSE);
                    198: }
                    199: 
                    200: 
                    201: 
                    202: 
                    203: BOOL  APIENTRY ContextDlgProc(
                    204: HWND          hwnd,
                    205: register UINT msg,
                    206: register WPARAM wParam,
1.1.1.2 ! root      207: LPARAM lParam)
1.1       root      208: {
                    209:     BOOL fSuccess;
1.1.1.2 ! root      210: 
1.1       root      211:     switch (msg){
                    212:     case WM_INITDIALOG:
                    213:         SetDlgItemInt(hwnd, IDEF_FLAGS, CCFilter.wFlags, FALSE);
                    214:         SetDlgItemInt(hwnd, IDEF_COUNTRY, CCFilter.wCountryID, FALSE);
                    215:         SetDlgItemInt(hwnd, IDEF_CODEPAGE, CCFilter.iCodePage, TRUE);
                    216:         SetDlgItemInt(hwnd, IDEF_LANG, LOWORD(CCFilter.dwLangID), FALSE);
                    217:         SetDlgItemInt(hwnd, IDEF_SECURITY, LOWORD(CCFilter.dwSecurity), FALSE);
                    218:         return(1);
                    219:         break;
                    220: 
                    221:     case WM_COMMAND:
1.1.1.2 ! root      222:         switch (LOWORD(wParam)) {
1.1       root      223:         case IDOK:
                    224:             CCFilter.wFlags = GetDlgItemInt(hwnd, IDEF_FLAGS, &fSuccess, FALSE);
                    225:             if (!fSuccess) return(0);
                    226:             CCFilter.wCountryID = GetDlgItemInt(hwnd, IDEF_COUNTRY, &fSuccess, FALSE);
                    227:             if (!fSuccess) return(0);
                    228:             CCFilter.iCodePage = GetDlgItemInt(hwnd, IDEF_CODEPAGE, &fSuccess, TRUE);
                    229:             if (!fSuccess) return(0);
                    230:             CCFilter.dwLangID = (DWORD)GetDlgItemInt(hwnd, IDEF_LANG, &fSuccess, FALSE);
                    231:             if (!fSuccess) return(0);
                    232:             CCFilter.dwSecurity = (DWORD)GetDlgItemInt(hwnd, IDEF_SECURITY, &fSuccess, FALSE);
                    233:             if (!fSuccess) return(0);
1.1.1.2 ! root      234: 
        !           235:             // fall through
1.1       root      236:         case IDCANCEL:
                    237:             EndDialog(hwnd, 0);
                    238:             break;
                    239: 
                    240:         default:
                    241:             return(FALSE);
                    242:         }
                    243:         break;
                    244:     }
                    245:     return(FALSE);
                    246: }
1.1.1.2 ! root      247: 
        !           248: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.