TRACK.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) 1992-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. /* track.h - header file for doTrackObject support */
  11. /* special messages for doTrackobject(). */
  12. #define TROB_NEW         WM_USER+1
  13. #define TROB_DELETE      WM_USER+2
  14. #define TROB_PAINT       WM_USER+3
  15. #define TROB_HITTEST     WM_USER+5
  16. /* Different "Track modes." */
  17. #define TMNONE    0x0000
  18. #define TMMOVE    0x0001
  19. #define TMSIZEX   0x0002
  20. #define TMSIZEY   0x0004
  21. #define TMSIZEXY  0x0006
  22. #define TMSHEARX  0x0010
  23. #define TMSHEARY  0x0020
  24. #define TMROTATE  0x0008
  25. #define TMALL     0x00ff
  26. /* structure for the track object.  */
  27. typedef struct tagTrackObject{
  28.     RECT   rect;
  29.     XFORM  xfmChange;   /* World coordinate transform      */
  30.     XFORM  xfmDown;     /* transform when the mouse down happens. */
  31.     HDC    hdc;
  32.     int    Mode;        /* TMROTATE, TMSIZEXY, TMMOVE, ... */
  33.     int    allowedModes;
  34.     RECT   rectClip;
  35.     struct tagTrackObject* Next;
  36. } TrackObject, *PTrackObject;
  37. /* function prototypes. */
  38. PTrackObject doTrackObject(PTrackObject, int, HWND, LONG);
  39. VOID MouseMove(PTrackObject, int, HWND, LONG);