home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / WHEEL1.ZIP / TEST.C < prev    next >
Text File  |  1990-02-12  |  3KB  |  77 lines

  1. #define INCL_WIN
  2. #define INCL_GPI
  3. #include <os2.h>
  4.  
  5. #include "string.h"
  6. #include "stdio.h"
  7. #include "stdlib.h"
  8.  
  9. #include "TEST.H"
  10. #include "WHEEL.H"
  11.  
  12. VOID EXPENTRY ColorWheelInitialize    (HAB);
  13. MRESULT EXPENTRY TestDlgProc (HWND hwnd, USHORT usMsg, MPARAM mp1, MPARAM mp2);
  14.  
  15. VOID main( VOID )
  16. {
  17.         HAB hab;
  18.         HMQ hmq;
  19.         HWND hwnd;
  20.         HPOINTER hptr;
  21.  
  22.         hab = WinInitialize (0);
  23.         hmq = WinCreateMsgQueue (hab, 99);
  24.         ColorWheelInitialize (hab);
  25.         hwnd = WinLoadDlg (HWND_DESKTOP, HWND_DESKTOP, TestDlgProc, NULL, DLG_PRESPARAM, NULL);
  26.         hptr = WinLoadPointer (HWND_DESKTOP, NULL, DLG_PRESPARAM);
  27.         WinSendMsg (hwnd, WM_SETICON, (MPARAM)hptr, NULL);
  28.         WinProcessDlg (hwnd);
  29.         WinDestroyWindow (hwnd);
  30.         WinDestroyPointer (hptr);
  31.         WinDestroyMsgQueue (hmq);
  32.         WinTerminate (hab);
  33. }
  34.  
  35. MRESULT EXPENTRY TestDlgProc (HWND hwnd, USHORT msg, MPARAM mp1, MPARAM mp2)
  36. {
  37.         CHAR szText[12];
  38.         COLOR clr;
  39.  
  40.         switch ( msg )
  41.  
  42.                {case WM_INITDLG:
  43.                         return (MRESULT) NULL;
  44.  
  45.                 case WM_CONTROL:
  46.                         switch (SHORT1FROMMP (mp1))
  47.                                {case DLGITEM_WHEEL:
  48.                                         if (SHORT2FROMMP (mp1) == COLOR_WHEEL_NOTIFY_NEWCOLOR)
  49.                                           {clr = (COLOR) mp2;
  50.                                            WinSendDlgItemMsg (hwnd, DLGITEM_SAMPLE, msg, mp1, mp2);
  51.                                            ltoa (((0x00FF0000L & clr) >> 16), szText, 10);
  52.                                            WinSetDlgItemText (hwnd, DLGITEM_RED, szText);
  53.                                            ltoa (((0x0000FF00L & clr) >> 8), szText, 10);
  54.                                            WinSetDlgItemText (hwnd, DLGITEM_GREEN, szText);
  55.                                            ltoa ((0x000000FFL & clr), szText, 10);
  56.                                            WinSetDlgItemText (hwnd, DLGITEM_BLUE, szText);
  57.                                           }
  58.                                         break;
  59.                                }
  60.                         return (MRESULT) NULL;
  61.  
  62.                 case WM_COMMAND:
  63.                         switch (SHORT1FROMMP (mp1))
  64.                                {case DLGITEM_ABOUT:
  65.                                         WinDlgBox( HWND_DESKTOP, hwnd, WinDefDlgProc, NULL, DLG_ABOUT, NULL );
  66.                                         break;
  67.                                 case DLGITEM_QUIT:
  68.                                         WinDismissDlg( hwnd, TRUE );
  69.                                         break;
  70.                                }
  71.                         return (MRESULT) NULL;
  72.                }
  73.  
  74.         return WinDefDlgProc( hwnd, msg, mp1, mp2 );
  75.  
  76. }
  77.