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

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * GIZMOBAR.H
  3.  * GizmoBar portion of INOLE.DLL
  4.  *
  5.  * Public definitions for application that use the GizmoBar such as
  6.  * messages, prototypes for API functions, notification codes, and
  7.  * control styles.
  8.  *
  9.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  10.  *
  11.  * Kraig Brockschmidt, Microsoft
  12.  * Internet  :  kraigb@microsoft.com
  13.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  14.  */
  15. #ifndef _GIZMOBAR_H_
  16. #define _GIZMOBAR_H_
  17. #include <bttncur.h>
  18. #include <book1632.h>
  19. #ifdef __cplusplus
  20. extern "C"
  21.     {
  22. #endif
  23. //Global classnames
  24. #define CLASS_GIZMOBAR  TEXT("gizmobar")
  25. //Message API Functions
  26. HWND    WINAPI GBHwndAssociateSet(HWND, HWND);
  27. HWND    WINAPI GBHwndAssociateGet(HWND);
  28. BOOL    WINAPI GBGizmoAdd(HWND, UINT, UINT, UINT, UINT, UINT, LPTSTR
  29.             , HBITMAP, UINT, UINT);
  30. BOOL    WINAPI GBGizmoRemove(HWND, UINT);
  31. LRESULT WINAPI GBGizmoSendMessage(HWND, UINT, UINT, WPARAM, LPARAM);
  32. BOOL    WINAPI GBGizmoShow(HWND, UINT, BOOL);
  33. BOOL    WINAPI GBGizmoEnable(HWND, UINT, BOOL);
  34. BOOL    WINAPI GBGizmoCheck(HWND, UINT, BOOL);
  35. UINT    WINAPI GBGizmoFocusSet(HWND, UINT);
  36. BOOL    WINAPI GBGizmoExist(HWND, UINT);
  37. int     WINAPI GBGizmoTypeGet(HWND, UINT);
  38. DWORD   WINAPI GBGizmoDataSet(HWND, UINT, DWORD);
  39. DWORD   WINAPI GBGizmoDataGet(HWND, UINT);
  40. BOOL    WINAPI GBGizmoNotifySet(HWND, UINT, BOOL);
  41. BOOL    WINAPI GBGizmoNotifyGet(HWND, UINT);
  42. int     WINAPI GBGizmoTextGet(HWND, UINT, LPTSTR, UINT);
  43. void    WINAPI GBGizmoTextSet(HWND, UINT, LPTSTR);
  44. UINT    WINAPI GBGizmoIntGet(HWND, UINT, BOOL FAR *, BOOL);
  45. void    WINAPI GBGizmoIntSet(HWND, UINT, UINT, BOOL);
  46. //Notification codes sent via WM_COMMAND from GBHwndAssociateSet
  47. #define GBN_ASSOCIATEGAIN               1
  48. #define GBN_ASSOCIATELOSS               2
  49. #define GBN_GIZMOADDED                  3
  50. #define GBN_GIZMOREMOVED                4
  51. //Message equivalents for functions.
  52. #define GBM_HWNDASSOCIATESET            (WM_USER+0)
  53. #define GBM_HWNDASSOCIATEGET            (WM_USER+1)
  54. #define GBM_GIZMOADD                    (WM_USER+2)
  55. #define GBM_GIZMOREMOVE                 (WM_USER+3)
  56. #define GBM_GIZMOSENDMESSAGE            (WM_USER+4)
  57. #define GBM_GIZMOSHOW                   (WM_USER+5)
  58. #define GBM_GIZMOENABLE                 (WM_USER+6)
  59. #define GBM_GIZMOCHECK                  (WM_USER+7)
  60. #define GBM_GIZMOFOCUSSET               (WM_USER+8)
  61. #define GBM_GIZMOEXIST                  (WM_USER+9)
  62. #define GBM_GIZMOTYPEGET                (WM_USER+10)
  63. #define GBM_GIZMODATASET                (WM_USER+11)
  64. #define GBM_GIZMODATAGET                (WM_USER+12)
  65. #define GBM_GIZMONOTIFYSET              (WM_USER+13)
  66. #define GBM_GIZMONOTIFYGET              (WM_USER+14)
  67. #define GBM_GIZMOTEXTGET                (WM_USER+15)
  68. #define GBM_GIZMOTEXTSET                (WM_USER+16)
  69. #define GBM_GIZMOINTGET                 (WM_USER+17)
  70. #define GBM_GIZMOINTSET                 (WM_USER+18)
  71. /*
  72.  * Structure passed in lParam of GBM_GIZMOADD that mirrors the
  73.  * parameters to GBGizmoAdd.
  74.  */
  75. typedef struct
  76.     {
  77.     HWND        hWndParent;         //Parent window
  78.     UINT        iType;              //Type of gizmo
  79.     UINT        iGizmo;             //Position to create gizmo
  80.     UINT        uID;                //Identifier of gizmo
  81.     UINT        dx;                 //Dimensions of gizmo
  82.     UINT        dy;
  83.     LPTSTR      pszText;            //Gizmo text
  84.     HBITMAP     hBmp;               //Source of gizmo button image.
  85.     UINT        iImage;             //Index of image from hBmp
  86.     UINT        uState;             //Initial state of the gizmo.
  87.     } CREATEGIZMO, FAR *LPCREATEGIZMO;
  88. #define CBCREATEGIZMO sizeof(CREATEGIZMO)
  89. //For GBM_GIZMOSENDMESSAGE
  90. typedef struct
  91.     {
  92.     UINT        iMsg;
  93.     WPARAM      wParam;
  94.     LPARAM      lParam;
  95.     } GBMSG, FAR * LPGBMSG;
  96. #define CBGBMSG sizeof(GBMSG);
  97. //For GBM_GIZMOGETTEXT
  98. typedef struct
  99.     {
  100.     LPTSTR      psz;
  101.     UINT        cch;
  102.     } GBGETTEXT, FAR * LPGBGETTEXT;
  103. #define CBGBGETTEXT sizeof(GBGETTEXT);
  104. //For GBM_GIZMOGETINT
  105. typedef struct
  106.     {
  107.     BOOL        fSigned;
  108.     BOOL        fSuccess;
  109.     } GBGETINT, FAR * LPGBGETINT;
  110. #define CBGBGETINT sizeof(GBGETINT);
  111. //For GBM_GIZMOSETINT
  112. typedef struct
  113.     {
  114.     UINT        uValue;
  115.     BOOL        fSigned;
  116.     } GBSETINT, FAR * LPGBSETINT;
  117. #define CBGBSETINT sizeof(GBSETINT);
  118. //Gizmo control types.  DO NOT CHANGE THESE!
  119. #define GIZMOTYPE_EDIT                  0x0001
  120. #define GIZMOTYPE_LISTBOX               0x0002
  121. #define GIZMOTYPE_COMBOBOX              0x0004
  122. #define GIZMOTYPE_BUTTONNORMAL          0x0008
  123. #define GIZMOTYPE_TEXT                  0x0010
  124. #define GIZMOTYPE_SEPARATOR             0x0020
  125. #define GIZMOTYPE_BUTTONATTRIBUTEIN     0x0040
  126. #define GIZMOTYPE_BUTTONATTRIBUTEEX     0x0080
  127. #define GIZMOTYPE_BUTTONCOMMAND         0x0100
  128. //Generic state flags for non-buttons based on BTTNCUR.H's groups.
  129. #define GIZMO_NORMAL                    (BUTTONGROUP_ACTIVE)
  130. #define GIZMO_DISABLED                  (BUTTONGROUP_DISABLED)
  131. #ifdef __cplusplus
  132.     }   //Match with extern "C" above.
  133. #endif
  134. #endif //_GIZMOBAR_H_