BOUNCE.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /******************************************************************************
  2. *       This is a part of the Microsoft Source Code Samples. 
  3. *       Copyright (C) 1993-1997 Microsoft Corporation.
  4. *       All rights reserved. 
  5. *       This source code is only intended as a supplement to 
  6. *       Microsoft Development Tools and/or WinHelp documentation.
  7. *       See these sources for detailed information regarding the 
  8. *       Microsoft samples programs.
  9. ******************************************************************************/
  10. #ifdef WIN16
  11. #define APIENTRY FAR PASCAL
  12. typedef WORD WPARAM;
  13. #endif
  14. #define BOUNCECLASS  "BOUNCEDEMO"
  15. typedef struct _MYXFORM
  16. {
  17.     int xForm[3][3];
  18. } MYXFORM;
  19. typedef MYXFORM      *PMYXFORM;
  20. typedef MYXFORM NEAR *NPMYXFORM;
  21. typedef MYXFORM FAR  *LPMYXFORM;
  22. /*
  23. ** BALL OBJECT
  24. */
  25. typedef struct _BALLDATA
  26. {
  27.     HWND     hWnd;
  28.     int      nWidth;
  29.     int      nHeight;
  30.     int      xDirection;
  31.     int      yDirection;
  32.     BOOL     bNewPosition;
  33.     int      xPosition;
  34.     int      yPosition;
  35.     COLORREF crColor;
  36.     MYXFORM  xForm;
  37. } BALLDATA;
  38. typedef BALLDATA      *PBALLDATA;
  39. typedef BALLDATA NEAR *NPBALLDATA;
  40. typedef BALLDATA FAR  *LPBALLDATA;
  41. HANDLE ballCreate(HWND,int,int,COLORREF);
  42. BOOL   ballDestroy(HANDLE);
  43. VOID   ballBounce(HANDLE);
  44. BOOL   ballSetDimensions(HANDLE,int,int);
  45. BOOL   ballGetDimensions(HANDLE,LPPOINT);
  46. BOOL   ballSetDirection(HANDLE,int,int);
  47. BOOL   ballGetDirection(HANDLE,LPPOINT);
  48. BOOL   ballGetPosition(HANDLE,LPPOINT);
  49. BOOL   ballSetPosition(HANDLE,int,int);
  50. typedef struct _BOUNCEDATA
  51. {
  52.     HANDLE hBall1;
  53.     HANDLE hBall2;
  54.     HANDLE hBall3;
  55.     HANDLE hBall4;
  56. } BOUNCEDATA;
  57. typedef BOUNCEDATA      *PBOUNCEDATA;
  58. typedef BOUNCEDATA NEAR *NPBOUNCEDATA;
  59. typedef BOUNCEDATA FAR  *LPBOUNCEDATA;
  60. /*
  61. ** DRAW WINDOW ROUTINES (draw.c)
  62. */
  63. HWND  FAR      CreateBounceWindow(HWND,int);
  64. LONG  APIENTRY BounceProc(HWND,UINT,WPARAM,LONG);
  65. BOOL           BounceCreateProc(HWND);
  66. VOID           BounceDestroyProc(HWND);
  67. BOOL           BounceCommandProc(HWND,WPARAM,LONG);
  68. VOID           BouncePaintProc(HWND);
  69. VOID           BounceObjects(HWND);
  70. VOID           BounceRefresh(HWND);
  71. VOID           CheckEdgePosition(HWND,HANDLE);