home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / win_lrn / time / killtime.c < prev    next >
C/C++ Source or Header  |  1988-08-10  |  3KB  |  89 lines

  1. /*
  2.  * Function demonstrated in this program: KillTimer
  3.  * Compiler version: C 5.1
  4.  *
  5.  * Description:  
  6.  *   This program demonstrates the use of the KillTimer function. KillTimer
  7.  *   kills the timer event associated with "hWnd" and having the same
  8.  *   event identifier.
  9.  */
  10.  
  11. #include "windows.h"
  12.  
  13. long   FAR PASCAL HelloWndProc (HWND, unsigned, WORD, LONG);
  14.  
  15. int     PASCAL WinMain (hInstance, hPrevInstance, lpszCmdLine, cmdShow)
  16. HANDLE    hInstance, hPrevInstance;
  17. LPSTR     lpszCmdLine;
  18. int       cmdShow;
  19.   {
  20.   MSG   msg;
  21.   HWND  hWnd;
  22.   HMENU hMenu;
  23.   WNDCLASS   HelloClass;
  24.  
  25.   if (!hPrevInstance)
  26.     {
  27.     HelloClass.hCursor        = LoadCursor (NULL, IDC_ARROW);
  28.     HelloClass.hIcon          = LoadIcon (hInstance, NULL);
  29.     HelloClass.lpszMenuName   = (LPSTR)NULL;
  30.     HelloClass.lpszClassName  = (LPSTR)"Hello";
  31.     HelloClass.hbrBackground  = (HBRUSH)GetStockObject (WHITE_BRUSH);
  32.     HelloClass.hInstance      = hInstance;
  33.     HelloClass.style          = CS_HREDRAW | CS_VREDRAW;
  34.     HelloClass.lpfnWndProc    = HelloWndProc;
  35.  
  36.     if (!RegisterClass ( (LPWNDCLASS)&HelloClass))
  37.       return FALSE;
  38.     }
  39.  
  40.   hWnd = CreateWindow ( (LPSTR)"Hello",
  41.                      (LPSTR)"KillTimer",
  42.                      WS_OVERLAPPEDWINDOW,
  43.                      CW_USEDEFAULT,
  44.                      CW_USEDEFAULT,
  45.                      CW_USEDEFAULT,
  46.                      CW_USEDEFAULT,
  47.                      (HWND)NULL,        /* no parent */
  48.                      (HMENU)NULL,       /* use class menu */
  49.                      (HANDLE)hInstance, /* handle to window instance */
  50.                      (LPSTR)NULL);      /* no params to pass on */
  51.  
  52.   ShowWindow (hWnd, cmdShow);
  53.   UpdateWindow (hWnd);
  54.  
  55.   SetTimer (hWnd, 100, 500, (FARPROC)NULL);
  56.  
  57.   while (GetMessage ( (LPMSG) & msg, NULL, 0, 0))
  58.     {
  59.     TranslateMessage ( (LPMSG) & msg);
  60.     DispatchMessage ( (LPMSG) & msg);
  61.     }
  62.   KillTimer (hWnd, 100);      /* Kill The Timer */
  63.   return (int)msg.wParam;
  64.   }
  65.  
  66. /*************************************************************************/
  67. long    FAR PASCAL HelloWndProc (hWnd, message, wParam, lParam)
  68. HWND     hWnd;
  69. unsigned message;
  70. WORD     wParam;
  71. LONG     lParam;
  72.   {
  73.   switch (message)
  74.     {
  75.     case WM_TIMER:
  76.       MessageBeep(0);
  77.       break;
  78.  
  79.     case WM_DESTROY:
  80.       PostQuitMessage (0);
  81.       break;
  82.  
  83.     default:
  84.       return DefWindowProc (hWnd, message, wParam, lParam);
  85.       break;
  86.     }
  87.   return (0L);
  88.   }
  89.