home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / cprog / dflt14.zip / WATCH.C < prev    next >
Text File  |  1992-08-11  |  2KB  |  54 lines

  1. /* ----------- watch.c ----------- */
  2.  
  3. #include "dflat.h"
  4.  
  5. int WatchIconProc(WINDOW wnd, MESSAGE msg, PARAM p1, PARAM p2)
  6. {
  7.     int rtn;
  8.     switch (msg)    {
  9.         case CREATE_WINDOW:
  10.             rtn = DefaultWndProc(wnd, msg, p1, p2);
  11.             SendMessage(wnd, CAPTURE_MOUSE, 0, 0);
  12.             SendMessage(wnd, HIDE_MOUSE, 0, 0);
  13.             SendMessage(wnd, CAPTURE_KEYBOARD, 0, 0);
  14.             return rtn;
  15.         case PAINT:
  16.             SetStandardColor(wnd);
  17.             writeline(wnd, " └ ", 1, 1, FALSE);
  18.             return TRUE;
  19.         case BORDER:
  20.             rtn = DefaultWndProc(wnd, msg, p1, p2);
  21.             writeline(wnd, "═", 2, 0, FALSE);
  22.             return rtn;
  23.         case MOUSE_MOVED:
  24.             SendMessage(wnd, HIDE_WINDOW, 0, 0);
  25.             SendMessage(wnd, MOVE, p1, p2);
  26.             SendMessage(wnd, SHOW_WINDOW, 0, 0);
  27.             return TRUE;
  28.         case CLOSE_WINDOW:
  29.             SendMessage(wnd, RELEASE_MOUSE, 0, 0);
  30.             SendMessage(wnd, RELEASE_KEYBOARD, 0, 0);
  31.             SendMessage(wnd, SHOW_MOUSE, 0, 0);
  32.             break;
  33.         default:
  34.             break;
  35.     }
  36.     return DefaultWndProc(wnd, msg, p1, p2);
  37. }
  38.  
  39. WINDOW WatchIcon(void)
  40. {
  41.     int mx, my;
  42.     WINDOW wnd;
  43.     SendMessage(NULL, CURRENT_MOUSE_CURSOR,
  44.                         (PARAM) &mx, (PARAM) &my);
  45.     wnd = CreateWindow(
  46.                     BOX,
  47.                     NULL,
  48.                     mx, my, 3, 5,
  49.                     NULL,NULL,
  50.                     WatchIconProc,
  51.                     VISIBLE | HASBORDER | SHADOW | SAVESELF);
  52.     return wnd;
  53. }
  54.