|
|
1.1 ! root 1: /*==============================================================*\ ! 2: * sem_dlg.c - window procedures for the dialog boxes as well * ! 3: * as utility procedures used by them * ! 4: * Created 1990, Microsoft, IBM Corp. * ! 5: *--------------------------------------------------------------* ! 6: * * ! 7: * This module contains the Dialog Procedures for the user * ! 8: * defined dialogs as well as any support code they need * ! 9: * * ! 10: *--------------------------------------------------------------* ! 11: * * ! 12: * This source file contains the following functions: * ! 13: * * ! 14: * AboutBoxWndProc(hwnd, msg, mp1, mp2) * ! 15: * TimeDlgProc(hwnd, msg, mp1, mp2) * ! 16: \*==============================================================*/ ! 17: ! 18: /*--------------------------------------------------------------*\ ! 19: * Include files, macros, defined constants, and externs * ! 20: \*--------------------------------------------------------------*/ ! 21: ! 22: #define LINT_ARGS ! 23: #define INCL_PM ! 24: #define INCL_BASE ! 25: ! 26: #include <os2.h> ! 27: #include <string.h> ! 28: #include <stdlib.h> ! 29: ! 30: #include "sem_main.h" ! 31: #include "sem_dlg.h" ! 32: #include "sem_xtrn.h" ! 33: #include "sem_pnt.h" ! 34: #include "semaph.h" ! 35: ! 36: extern CHAR szWindowText[]; ! 37: ! 38: /*--------------------------------------------------------------*\ ! 39: * Global variables * ! 40: \*--------------------------------------------------------------*/ ! 41: ! 42: ! 43: /*--------------------------------------------------------------*\ ! 44: * Entry point declarations * ! 45: \*--------------------------------------------------------------*/ ! 46: ! 47: MRESULT EXPENTRY AboutBoxWndProc(HWND hwnd, USHORT msg, ! 48: MPARAM mp1, MPARAM mp2); ! 49: MRESULT EXPENTRY TimeDlgProc(HWND hwnd, USHORT msg, ! 50: MPARAM mp1, MPARAM mp2); ! 51: ! 52: /****************************************************************\ ! 53: * Dialog procedure for the About dialog box * ! 54: *--------------------------------------------------------------* ! 55: * * ! 56: * Name: AboutBoxWndProc(hwnd, msg, mp1, mp2) * ! 57: * * ! 58: * Purpose: Processes all messages sent to the About Box * ! 59: * * ! 60: * Usage: Called for each message sent to the About Box * ! 61: * dialog box. ! 62: * * ! 63: * Method: the about box only has a button control so this * ! 64: * routine only processes WM_COMMAND messages. Any * ! 65: * WM_COMMAND posted must have come from the Ok * ! 66: * button so we dismiss the dialog upon receiving it. * ! 67: * * ! 68: * Returns: Dependent upon message sent * ! 69: * * ! 70: \****************************************************************/ ! 71: MRESULT EXPENTRY AboutBoxWndProc(hwnd, msg, mp1, mp2) ! 72: HWND hwnd; /* handle of window */ ! 73: USHORT msg; /* id of message */ ! 74: MPARAM mp1; /* first message parameter */ ! 75: MPARAM mp2; /* second message parameter */ ! 76: { ! 77: switch(msg) { ! 78: case WM_COMMAND: ! 79: /* no matter what the command, close the dialog */ ! 80: WinDismissDlg(hwnd, TRUE); ! 81: break; ! 82: ! 83: default: ! 84: return(WinDefDlgProc(hwnd, msg, mp1, mp2)); ! 85: break; ! 86: } ! 87: ! 88: return 0L; ! 89: ! 90: } /* AboutBoxWndProc() */ ! 91: ! 92: ! 93: /****************************************************************\ ! 94: * Dialog procedure for the Timeout entry dlg box * ! 95: *--------------------------------------------------------------* ! 96: * * ! 97: * Name: TimeDlg(hwnd, msg, mp1, mp2) * ! 98: * * ! 99: * Purpose: Processes all messages sent to the Timer Box * ! 100: * * ! 101: * Usage: Called for each message sent to the Timer Box * ! 102: * dialog box. * ! 103: * * ! 104: * Method: display box on init, and reset global ulTimeout on * ! 105: * successful entry * ! 106: * * ! 107: * * ! 108: * * ! 109: * Returns: Dependent upon message sent * ! 110: * * ! 111: \****************************************************************/ ! 112: MRESULT EXPENTRY TimeDlgProc(hwnd, msg, mp1, mp2) ! 113: HWND hwnd; /* handle of window */ ! 114: USHORT msg; /* id of message */ ! 115: MPARAM mp1; /* first message parameter */ ! 116: MPARAM mp2; /* second message parameter */ ! 117: { ! 118: CHAR szBuffer [MAXTEXTLEN]; ! 119: ULONG l_ulTimeout = 0; /* local copy of timeout for dlg */ ! 120: static HWND hwndWork; ! 121: ! 122: switch(msg) { ! 123: case WM_INITDLG: ! 124: /* init the entry field w/current value */ ! 125: hwndWork = WinWindowFromID ( hwnd, IDD_ENTRY); ! 126: WinSetWindowText (hwndWork, itoa (ulTimeout, szBuffer, 10)); ! 127: WinSendMsg( hwndWork, EM_SETSEL, ! 128: MPFROM2SHORT(0, strlen(szBuffer)), (MPARAM)0 ); ! 129: break; ! 130: case WM_COMMAND: ! 131: /* no matter what the command, close the dialog */ ! 132: switch(SHORT1FROMMP(mp1)) { ! 133: case IDD_OK: ! 134: if (WinQueryDlgItemShort(hwnd, IDD_ENTRY, ! 135: (PUSHORT) &l_ulTimeout, FALSE) == FALSE) { ! 136: WinSetDlgItemText (hwnd, IDD_ENTRY, itoa (ulTimeout, szBuffer, 10)); ! 137: return 0; ! 138: } ! 139: else ! 140: ulTimeout = l_ulTimeout; ! 141: /* fall thru to... */ ! 142: case IDD_CANCEL: ! 143: default: ! 144: WinDismissDlg(hwnd, SHORT1FROMMP(mp1)); ! 145: break; ! 146: } ! 147: ! 148: default: ! 149: return(WinDefDlgProc(hwnd, msg, mp1, mp2)); ! 150: break; ! 151: } ! 152: ! 153: return 0L; ! 154: ! 155: } /* TimeDlgProc() */ ! 156: ! 157:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.