Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
2.8 KiB

  1. /*
  2. * GIZMOINT.H
  3. * GizmoBar Version 1.00, Win32 version August 1993
  4. *
  5. * Internal definitions for the GizmoBar DLL
  6. *
  7. * Copyright (c)1993 Microsoft Corporation, All Rights Reserved
  8. *
  9. * Kraig Brockschmidt, Software Design Engineer
  10. * Microsoft Systems Developer Relations
  11. *
  12. * Internet : kraigb@microsoft.com
  13. * Compuserve: >INTERNET:kraigb@microsoft.com
  14. */
  15. #ifndef _GIZMOINT_H_
  16. #define _GIZMOINT_H_
  17. #include <bttncur.h>
  18. #include <book1632.h>
  19. #include "gizmo.h"
  20. #include "gizmobar.h"
  21. #ifdef __cplusplus
  22. extern "C"
  23. {
  24. #endif
  25. /*
  26. * The main gizmobar structure itself. There's only one of these,
  27. * but it references the first GIZMO in the list.
  28. */
  29. typedef struct tagGIZMOBAR
  30. {
  31. LPGIZMO pGizmos; //List of gizmos we own.
  32. HWND hWnd; //Window handle of ourselves.
  33. HINSTANCE hInst;
  34. HWND hWndAssociate; //Associate window handle who gets messages.
  35. DWORD dwStyle; //Copy of GetWindowLong(hWnd, GWL_STYLE)
  36. UINT uState; //State flags
  37. UINT uID; //Control ID.
  38. HBRUSH hBrFace; //Static control background color
  39. COLORREF crFace; //Color of hBrFace
  40. HFONT hFont; //Font in use, defaults to system, WM_SETFONT
  41. BOOL fEnabled; //Are we enabled?
  42. LPGIZMO pGizmoTrack; //Current pressed button.
  43. BOOL fTracking;
  44. BOOL fMouseOut;
  45. } GIZMOBAR, FAR * LPGIZMOBAR;
  46. #define CBGIZMOBAR sizeof(GIZMOBAR)
  47. //Extra bytes for the window if the size of a local handle.
  48. #define CBWINDOWEXTRA sizeof(LPGIZMOBAR)
  49. #define GBWL_STRUCTURE 0
  50. //Structure for passing paint information to a gizmo enumeration callback.
  51. typedef struct
  52. {
  53. HDC hDC;
  54. BOOL fPaint;
  55. } PAINTGIZMO, FAR * LPPAINTGIZMO;
  56. //Private functions specific to the control.
  57. //INIT.C
  58. #ifdef WIN32
  59. extern BOOL WINAPI _CRT_INIT(HINSTANCE, DWORD, LPVOID);
  60. extern _cexit(void);
  61. #endif //WIN32
  62. void FAR PASCAL WEP(int);
  63. BOOL FRegisterControl(HINSTANCE);
  64. LPGIZMOBAR GizmoBarPAllocate(LPINT, HWND, HINSTANCE, HWND, DWORD, UINT, UINT);
  65. LPGIZMOBAR GizmoBarPFree(LPGIZMOBAR);
  66. //PAINT.C
  67. void GizmoBarPaint(HWND, LPGIZMOBAR);
  68. BOOL FAR PASCAL FEnumPaintGizmos(LPGIZMO, UINT, DWORD);
  69. //GIZMOBAR.C
  70. LRESULT FAR PASCAL GizmoBarWndProc(HWND, UINT, WPARAM, LPARAM);
  71. BOOL FAR PASCAL FEnumChangeFont(LPGIZMO, UINT, DWORD);
  72. BOOL FAR PASCAL FEnumEnable(LPGIZMO, UINT, DWORD);
  73. BOOL FAR PASCAL FEnumHitTest(LPGIZMO, UINT, DWORD);
  74. //API.C Also see GIZMOBAR.H for others
  75. LRESULT GBMessageHandler(HWND, UINT, WPARAM, LPARAM, LPGIZMOBAR);
  76. LPGIZMO PGizmoFromHwndID(HWND, UINT);
  77. #endif //_GIZMOINT_H_