Annotation of pmsdk/samples/mboxtest/mboxtest.c, revision 1.1.1.1

1.1       root        1: /*      mboxtest.c  - Message box control test application          */
                      2: /*      Created by Microsoft Corp., 1988                            */
                      3: /*                                                                  */
                      4: #define INCL_WIN
                      5: #include <os2.h>
                      6: #include "mboxtest.h"
                      7: 
                      8: /************* GLOBAL VARIABLES         */
                      9: char szMboxtestClass[] = "Mboxtest";
                     10: char szAppName[] = "Mboxtest Application";
                     11: HAB    habMboxtest;
                     12: HMQ    hmqMboxtest;
                     13: HWND   hwndMboxtest;
                     14: HWND   hwndMboxtestFrame;
                     15: void FAR PASCAL WinExitWindows(PCH);
                     16: 
                     17: 
                     18: /************* PROCEDURE DECLARATIONS   */
                     19: MPARAM FAR PASCAL MboxDlgProc(HWND, USHORT, MPARAM, MPARAM);
                     20: BOOL MboxtestInit()
                     21: {
                     22:     /*
                     23:      * Initialize the HAB
                     24:      * (just set to -1L for now until we get WinInitialize()
                     25:      */
                     26:     habMboxtest = WinInitialize(NULL);
                     27:     hmqMboxtest = WinCreateMsgQueue(habMboxtest, 0);
                     28:     return(TRUE);
                     29: }
                     30: 
                     31: 
                     32: int cdecl main(argc, argv)
                     33: int argc;
                     34: char *argv[];
                     35: {
                     36:     QMSG qmsg;
                     37:     USHORT wResult;
                     38:     WRECT rc;
                     39:     if (!MboxtestInit())
                     40:         return(0);
                     41:     wResult = WinDlgBox(HWND_DESKTOP, (HWND)NULL, (PFNWP)MboxDlgProc, 
                     42:             (HMODULE)NULL, IDD_MBOXTEST, (PCH)NULL);
                     43:     WinDestroyMsgQueue(hmqMboxtest);
                     44:     WinTerminate(habMboxtest);
                     45:     DosExit(EXIT_PROCESS, 0);
                     46: }
                     47: 
                     48: 
                     49: MPARAM FAR PASCAL MboxDlgProc(hwnd, msg, mp1, mp2)
                     50: HWND hwnd;
                     51: USHORT msg;
                     52: MPARAM mp1;
                     53: MPARAM mp2;
                     54: {
                     55:     USHORT word, flStyle;
                     56:     HWND hwnd1 = 0, hwndResult;
                     57:     CHAR rgch[256];
                     58:     BOOL fParse;
                     59:     INT i;
                     60: 
                     61:     hwndResult = WinWindowFromID(hwnd, 31); /* Result edit control */
                     62: 
                     63:     switch (msg) {
                     64:     case WM_COMMAND:
                     65:         switch (LOUSHORT(mp1)) {
                     66:         case DID_OK:
                     67:             WinDismissDlg(hwnd, 1234);
                     68:             break;
                     69: 
                     70:         case 30: /* Show Box */
                     71:             flStyle = (USHORT)WinSendDlgItemMsg(hwnd, 13, BM_QUERYCHECKINDEX,
                     72:                     (MPARAM)hwnd, 0L);
                     73:             i = (INT)WinSendDlgItemMsg(hwnd, 22, BM_QUERYCHECKINDEX,
                     74:                     (MPARAM)hwnd, 0L);
                     75:             flStyle = (flStyle & 0xff0f) | (i << 4);
                     76:             i = (INT)WinSendDlgItemMsg(hwnd, 27, BM_QUERYCHECKINDEX,
                     77:                     (MPARAM)hwnd, 0L);
                     78:             flStyle = (flStyle & 0xf0ff) | (i << 8);
                     79: 
                     80:             /* Test message box system modality */
                     81:             i = (INT)WinSendDlgItemMsg(hwnd, 31, BM_QUERYCHECK, 0L, 0L);
                     82:             if (i)
                     83:                 flStyle |= MB_SYSTEMMODAL;
                     84: 
                     85:             /* Test message box help button attribute */
                     86:             i = (INT)WinSendDlgItemMsg(hwnd, 32, BM_QUERYCHECK, 0L, 0L);
                     87:             if (i)
                     88:                 flStyle |= MB_HELP;
                     89: 
                     90:             WinSetDlgItemShort(hwnd, 43, flStyle, FALSE);
                     91:             i = (INT)WinMessageBox(HWND_DESKTOP, hwnd, 
                     92:                     (PSZ)"This is where the body of the message box text \
                     93:                     goes.  It can contain\nseveral lines.",
                     94:                     (PSZ)"This is the title bar", 1, flStyle);
                     95: 
                     96:             WinSetDlgItemShort(hwnd, 51, i, FALSE);
                     97:             break;
                     98: 
                     99:         default:
                    100:             break;
                    101:         }
                    102:         break;
                    103: 
                    104:     case WM_INITDLG:
                    105:         WinSendDlgItemMsg(hwnd, 13, BM_SETCHECK, (MPARAM)TRUE, 0L);
                    106:         WinSendDlgItemMsg(hwnd, 22, BM_SETCHECK, (MPARAM)TRUE, 0L);
                    107:         WinSendDlgItemMsg(hwnd, 27, BM_SETCHECK, (MPARAM)TRUE, 0L);
                    108:         break;
                    109: 
                    110:     default:
                    111:         return(WinDefDlgProc(hwnd, msg, mp1, mp2));
                    112:         break;
                    113:     }
                    114:     return 0L;
                    115: }
                    116: 
                    117: 
                    118: CvtDec(wValue, lplpch)
                    119: register USHORT wValue;
                    120: PSZ  far *lplpch;
                    121: {
                    122:     if (wValue >= 10) {
                    123:         CvtDec(wValue / 10, lplpch);
                    124:         wValue %= 10;
                    125:     }
                    126:     *(*lplpch)++ = wValue + '0';
                    127: }

unix.superglobalmegacorp.com

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