PageRenderTime 54ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/BotE Game/branch/plotnik/Source/include/CPPToolTip/PPTooltip.h

#
C++ Header | 459 lines | 274 code | 77 blank | 108 comment | 1 complexity | 1aa05f368e662f22fe5e137ef5287ce5 MD5 | raw file
Possible License(s): GPL-3.0, MPL-2.0-no-copyleft-exception, LGPL-2.0
  1. //
  2. // Class: CPPTooltip
  3. //
  4. // Compiler: Visual C++
  5. // Tested on: Visual C++ 6.0
  6. // Visual C++ .NET 2003
  7. //
  8. // Version: See GetVersionC() or GetVersionI()
  9. //
  10. // Created: xx/xxxx/2004
  11. // Updated: 21/November/2004
  12. //
  13. // Author: Eugene Pustovoyt pustovoyt@mail.ru
  14. //
  15. // Disclaimer
  16. // ----------
  17. // THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT
  18. // ANY WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO REPONSIBILITIES FOR POSSIBLE
  19. // DAMAGES OR EVEN FUNCTIONALITY CAN BE TAKEN. THE USER MUST ASSUME THE ENTIRE
  20. // RISK OF USING THIS SOFTWARE.
  21. //
  22. // Terms of use
  23. // ------------
  24. // THIS SOFTWARE IS FREE FOR PERSONAL USE OR FREEWARE APPLICATIONS.
  25. // IF YOU WISH TO THANK MY WORK, YOU MAY DONATE ANY SUM OF MONEY TO ME
  26. // FOR SUPPORT OF DEVELOPMENT OF THIS CLASS.
  27. // IF YOU USE THIS SOFTWARE IN COMMERCIAL OR SHAREWARE APPLICATIONS YOU
  28. // ARE GENTLY ASKED TO DONATE ANY SUM OF MONEY TO THE AUTHOR:
  29. //
  30. //
  31. //--- History ------------------------------
  32. // 2004/03/01 *** Releases version 2.0 ***
  33. //------------------------------------------
  34. // 2004/04/04 [ADD] Added method SetCssStyles(DWORD dwIdCssStyle, LPCTSTR lpszPathDll /* = NULL */)
  35. // 2004/04/14 [FIX] Fixed correct drawing for some tooltip's directions
  36. // 2004/04/15 [FIX] Fixed changing a z-order of the some windows by show a tooltip on Win9x
  37. // 2004/04/27 [FIX] Corrected a work with a tooltip's directions with a large tooltip
  38. // 2004/04/28 [ADD] Disables a message translation if object was't created (thanks to Stoil Todorov)
  39. // 2004/07/02 [UPD] Changes a GetWndFromPoint mechanism of the window's searching
  40. // 2004/09/01 [ADD] New SetMaxTipWidth method was added
  41. // 2004/10/12 [FIX] Now a tooltip has a different methods to show a menu's tooltip and other
  42. // control's tooltip
  43. //------------------------------------------
  44. // 2004/11/19 *** Releases version 2.1 ***
  45. //------------------------------------------
  46. // 2004/11/30 [FIX] Corrected the debug window drawing
  47. // [FIX] Changes a GetWndFromPoint mechanism of the window's searching
  48. ////////////////////////////////////////////////////////////////////
  49. //
  50. // "SmoothMaskImage" and "GetPartialSums" functions by Denis Sarazhinsky (c)2003
  51. // Modified by Eugene Pustovoyt to use with image's mask instead of full color image.
  52. //
  53. /////////////////////////////////////////////////////////////////////
  54. //
  55. #ifndef _PPTOOLTIP_H
  56. #define _PPTOOLTIP_H
  57. #if _MSC_VER > 1000
  58. #pragma once
  59. #endif // _MSC_VER > 1000
  60. // PPTooltip.h : header file
  61. #include "PPHtmlDrawer.h"
  62. #pragma warning(disable : 4786)
  63. #include <vector>
  64. #include <map>
  65. //ENG: Comments a next line if you never use a tooltip for a menu
  66. //RUS: Закоментируйте следующую строку, если вы не планируете использовать тултип для элементов меню
  67. #define PPTOOLTIP_USE_MENU
  68. #define PPTOOLTIP_CLASSNAME _T("CPPToolTip") // Window class name
  69. //The
  70. #define UDM_TOOLTIP_FIRST (WM_USER + 100)
  71. #define UDM_TOOLTIP_DISPLAY (UDM_TOOLTIP_FIRST) //User was changed the data
  72. #define UDM_TOOLTIP_REPAINT (UDM_TOOLTIP_FIRST + 1)
  73. #define UDM_TOOLTIP_HIDING (UDM_TOOLTIP_FIRST + 2)
  74. //The behaviours
  75. #define PPTOOLTIP_MULTIPLE_SHOW 0x00000001 //Multiple show for single control
  76. #define PPTOOLTIP_TRACKING_MOUSE 0x00000002 //Tracking for mouse
  77. #define PPTOOLTIP_CLOSE_LEAVEWND 0x00000004 //Close tooltip if mouse leave the control
  78. #define PPTOOLTIP_NOCLOSE_OVER 0x00000008 //No close tooltip if mouse over him
  79. #define PPTOOLTIP_DISABLE_AUTOPOP 0x00000010 //Disables autopop tooltip from timer
  80. //#define PPTOOLTIP_NOCLOSE_MOUSEDOWN 0x00000020 //Disables autopop tooltip from timer
  81. //The masks
  82. #define PPTOOLTIP_MASK_STYLES 0x0001 // The styles for the tooltip gets from the structures
  83. #define PPTOOLTIP_MASK_EFFECT 0x0002 // The background's type for the tooltip gets from the structures
  84. #define PPTOOLTIP_MASK_COLORS 0x0004 // The background's colors for the tooltip gets from the structures
  85. #define PPTOOLTIP_MASK_DIRECTION 0x0008 // The align for the tooltip gets from the structures
  86. #define PPTOOLTIP_MASK_BEHAVIOUR 0x0010 // The behaviour for the tooltip gets from the structures
  87. #define PPTOOLTIP_MASK_TRANSPARENCY 0x0020 //
  88. //The constants of the timers
  89. #define PPTOOLTIP_TIME_INITIAL TTDT_INITIAL
  90. #define PPTOOLTIP_TIME_AUTOPOP TTDT_AUTOPOP
  91. #define PPTOOLTIP_TIME_FADEIN 4
  92. #define PPTOOLTIP_TIME_FADEOUT 5
  93. #define PPTOOLTIP_TIME_ANIMATION 6
  94. //Tooltip's directions
  95. #define PPTOOLTIP_TOPEDGE_LEFT 0x00
  96. #define PPTOOLTIP_TOPEDGE_RIGHT 0x01
  97. #define PPTOOLTIP_TOPEDGE_CENTER 0x02
  98. #define PPTOOLTIP_BOTTOMEDGE_LEFT 0x10
  99. #define PPTOOLTIP_BOTTOMEDGE_RIGHT 0x11
  100. #define PPTOOLTIP_BOTTOMEDGE_CENTER 0x12
  101. #define PPTOOLTIP_LEFTEDGE_TOP 0x20
  102. #define PPTOOLTIP_LEFTEDGE_BOTTOM 0x21
  103. #define PPTOOLTIP_LEFTEDGE_VCENTER 0x22
  104. #define PPTOOLTIP_RIGHTEDGE_TOP 0x30
  105. #define PPTOOLTIP_RIGHTEDGE_BOTTOM 0x31
  106. #define PPTOOLTIP_RIGHTEDGE_VCENTER 0x32
  107. //----- Old version (1.x) ---------
  108. #define PPTOOLTIP_LEFT_TOP PPTOOLTIP_TOPEDGE_LEFT
  109. #define PPTOOLTIP_RIGHT_TOP PPTOOLTIP_TOPEDGE_RIGHT
  110. #define PPTOOLTIP_LEFT_BOTTOM PPTOOLTIP_BOTTOMEDGE_LEFT
  111. #define PPTOOLTIP_RIGHT_BOTTOM PPTOOLTIP_BOTTOMEDGE_RIGHT
  112. #ifdef PPTOOLTIP_USE_MENU
  113. //ENG: Anchor's position about a menu item
  114. //RUS: Выравнивание кончика тултипа относительно элемента меню
  115. #define PPTOOLTIP_MENU_LEFT 0x00
  116. #define PPTOOLTIP_MENU_RIGHT 0x01
  117. #define PPTOOLTIP_MENU_CENTER 0x02
  118. #define PPTOOLTIP_MENU_TOP 0x00
  119. #define PPTOOLTIP_MENU_BOTTOM 0x10
  120. #define PPTOOLTIP_MENU_VCENTER 0x20
  121. #define PPTOOLTIP_MENU_HMASK 0x0F
  122. #define PPTOOLTIP_MENU_VMASK 0xF0
  123. #endif //PPTOOLTIP_USE_MENU
  124. // This info structure
  125. typedef struct tagPPTOOLTIP_INFO
  126. {
  127. UINT nIDTool; // ID of tool
  128. CRect rectBounds; // Bounding rect for toolinfo to be displayed
  129. CString sTooltip; // The string of the tooltip
  130. UINT nMask; // The mask
  131. UINT nStyles; // The tooltip's styles
  132. UINT nDirection; // Direction display the tooltip relate cursor point
  133. UINT nEffect; // The color's type or effects
  134. UINT nBehaviour; // The tooltip's behaviour
  135. BYTE nGranularity; // The effect's granularity
  136. BYTE nTransparency; // The factor of the window's transparency (0-100)
  137. COLORREF crBegin; // Begin Color
  138. COLORREF crMid; // Mid Color
  139. COLORREF crEnd; // End Color
  140. } PPTOOLTIP_INFO;
  141. // This structure sent to PPTooltip parent in a WM_NOTIFY message
  142. typedef struct tagNM_PPTOOLTIP_DISPLAY {
  143. NMHDR hdr;
  144. HWND hwndTool;
  145. LPPOINT pt;
  146. PPTOOLTIP_INFO * ti;
  147. } NM_PPTOOLTIP_DISPLAY;
  148. /////////////////////////////////////////////////////////////////////////////
  149. // CPPToolTip window
  150. class CPPToolTip : public CWnd
  151. {
  152. // friend BOOL CALLBACK EnumChildWinF(HWND hwnd, LPARAM lParam);
  153. // Construction
  154. public:
  155. BOOL Create(CWnd* pParentWnd, BOOL bBalloon = TRUE);
  156. CPPToolTip();
  157. virtual ~CPPToolTip();
  158. // Attributes
  159. public:
  160. enum { PPTTSZ_ROUNDED_CX = 0,
  161. PPTTSZ_ROUNDED_CY,
  162. PPTTSZ_MARGIN_CX,
  163. PPTTSZ_MARGIN_CY,
  164. PPTTSZ_WIDTH_ANCHOR,
  165. PPTTSZ_HEIGHT_ANCHOR,
  166. PPTTSZ_MARGIN_ANCHOR,
  167. PPTTSZ_OFFSET_ANCHOR_CX,
  168. PPTTSZ_OFFSET_ANCHOR_CY,
  169. PPTTSZ_MAX_SIZES
  170. };
  171. enum { SHOWEFFECT_NONE = 0,
  172. SHOWEFFECT_FADEINOUT,
  173. SHOWEFFECT_MAX
  174. };
  175. // Operations
  176. protected:
  177. enum TooltipState {
  178. PPTOOLTIP_STATE_HIDEN = 0,
  179. PPTOOLTIP_STATE_SHOWING,
  180. PPTOOLTIP_STATE_SHOWN,
  181. PPTOOLTIP_STATE_HIDING
  182. };
  183. enum TooltipType {
  184. PPTOOLTIP_NORMAL = 0,
  185. PPTOOLTIP_HELP,
  186. PPTOOLTIP_MENU
  187. };
  188. CPPHtmlDrawer m_drawer; //HTML drawer object
  189. HWND m_hParentWnd; // The handle of the parent window
  190. HWND m_hNotifyWnd; // The handle of the notified window
  191. BOOL m_bHyperlinkEnabled;
  192. BOOL m_bDebugMode;
  193. POINT m_ptOriginal;
  194. // Info about last displayed tool
  195. HWND m_hwndDisplayedTool;
  196. TooltipType m_nTooltipType;
  197. PPTOOLTIP_INFO m_tiDisplayed; //Info about displayed tooltip
  198. // Info about last displayed tool
  199. BOOL m_bDelayNextTool;
  200. BOOL m_bNextToolExist;
  201. HWND m_hwndNextTool;
  202. TooltipType m_nNextTooltipType;
  203. PPTOOLTIP_INFO m_tiNextTool; //Info about next tooltip
  204. // Info about current tool
  205. CRect m_rcCurTool;
  206. DWORD m_dwCurDirection;
  207. BYTE m_dwCurTransparency;
  208. TooltipState m_nTooltipState;
  209. //Colors
  210. COLORREF m_clrBeginBk;
  211. COLORREF m_clrMidBk;
  212. COLORREF m_clrEndBk;
  213. //Background
  214. HBITMAP m_hBitmapBk; //A bitmap with tooltip's background only
  215. HBITMAP m_hUnderTooltipBk;
  216. //Border of the tooltip
  217. HBRUSH m_hbrBorder;
  218. SIZE m_szBorder;
  219. //Shadow of the tooltip
  220. BOOL m_bGradientShadow;
  221. SIZE m_szOffsetShadow;
  222. SIZE m_szDepthShadow;
  223. BYTE m_nDarkenShadow;
  224. HRGN m_hrgnTooltip;
  225. //Default values for the window
  226. DWORD m_dwTimeAutoPop; //Retrieve the length of time the tool tip window remains visible if the pointer is stationary within a tool's bounding rectangle
  227. DWORD m_dwTimeInitial; //Retrieve the length of time the pointer must remain stationary within a tool's bounding rectangle before the tool tip window appears
  228. DWORD m_dwTimeFadeIn;
  229. DWORD m_dwTimeFadeOut;
  230. DWORD m_dwBehaviour; //The tooltip's behaviour
  231. DWORD m_dwEffectBk;
  232. DWORD m_dwDirection; //The default tooltip's direction
  233. DWORD m_dwStyles;
  234. BYTE m_nGranularity;
  235. BYTE m_nTransparency; //The current value of transparency
  236. DWORD m_dwShowEffect; //
  237. DWORD m_dwHideEffect;
  238. int m_nSizes [PPTTSZ_MAX_SIZES]; //All sizes
  239. #ifdef PPTOOLTIP_USE_MENU
  240. DWORD m_dwMenuToolPos;
  241. #endif //PPTOOLTIP_USE_MENU
  242. //
  243. CRect m_rcTipArea; //The bound rect around the tip's area in the client coordinates.
  244. CRect m_rcTooltip; //The bound rect around the body of the tooltip in the client coordinates.
  245. CRect m_rcBoundsTooltip; //The bound rect around a tooltip include an anchor
  246. CRect m_rcUnderTooltip; //The bound rect of the window under the tooltip in the screen coordinates
  247. //Initialize tools
  248. typedef std::vector<PPTOOLTIP_INFO> arHotArea; // array of Tips rectangular spots
  249. typedef std::map<HWND, arHotArea>::iterator mapIter; // simplify reading
  250. std::map<HWND, arHotArea> m_ToolMap;
  251. //Initialize list of toolbars
  252. typedef std::vector<HWND> arToolBarWnd;
  253. arToolBarWnd m_wndToolBars; // array of HWND of the toolbars
  254. // Overrides
  255. // ClassWizard generated virtual function overrides
  256. //{{AFX_VIRTUAL(CPPToolTip)
  257. public:
  258. virtual BOOL PreTranslateMessage(MSG* pMsg);
  259. virtual BOOL DestroyWindow();
  260. //}}AFX_VIRTUAL
  261. // Implementation
  262. public:
  263. BOOL RelayEvent(MSG* pMsg);
  264. //Tools
  265. void AddToolBar(CToolBar * pBar);
  266. void AddTool(CWnd * pWnd, DWORD dwIdString, LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  267. void AddTool(CWnd * pWnd, LPCTSTR lpszString = NULL, LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  268. void AddTool(CWnd * pWnd, PPTOOLTIP_INFO & ti);
  269. //To compatible with old version of CPPToolTip
  270. void AddTool(CWnd * pWnd, DWORD dwIdString, HICON hIcon, LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  271. void AddTool(CWnd * pWnd, DWORD dwIdString, DWORD dwIdIcon, CSize & szIcon = CSize(0, 0), LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  272. void AddTool(CWnd * pWnd, LPCTSTR lpszString, HICON hIcon, LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  273. void AddTool(CWnd * pWnd, LPCTSTR lpszString, DWORD dwIdIcon, CSize & szIcon = CSize(0, 0), LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  274. void AddTool(CWnd * pWnd, LPCTSTR lpszString, DWORD dwIdBitmap, COLORREF crMask, CSize & szBitmap = CSize(0, 0), LPCRECT lpRectBounds = NULL, DWORD dwIDTool = 0);
  275. void RemoveTool(CWnd * pWnd, LPCRECT lpRectBounds = NULL);
  276. void RemoveAllTools();
  277. BOOL GetToolInfo(PPTOOLTIP_INFO & ti, CWnd * pWnd, LPCRECT lpRectBounds = NULL);
  278. BOOL GetToolInfo(PPTOOLTIP_INFO & ti, CWnd * pWnd, DWORD dwIDTool = 0);
  279. void UpdateTipText(LPCTSTR lpszText, CWnd * pWnd, DWORD dwIDTool = 0);
  280. void DelTool(CWnd * pWnd, DWORD dwIDTool = 0);
  281. void SetToolRect(CWnd * pWnd, DWORD dwIDTool, LPCRECT lpRectBounds);
  282. //Help tooltip
  283. void ShowHelpTooltip (LPPOINT pt, DWORD dwIdText, HICON hIcon = NULL);
  284. void ShowHelpTooltip (LPPOINT pt, DWORD dwIdText, DWORD dwIdIcon, CSize & szIcon = CSize(0, 0));
  285. void ShowHelpTooltip (LPPOINT pt, LPCTSTR lpszString, HICON hIcon = NULL);
  286. void ShowHelpTooltip (LPPOINT pt, LPCTSTR lpszString, DWORD dwIdIcon, CSize & szIcon = CSize(0, 0));
  287. void ShowHelpTooltip (LPPOINT pt, PPTOOLTIP_INFO & ti);
  288. void HideTooltip();
  289. // color's functions
  290. void SetColorBk(COLORREF color);
  291. void SetColorBk(COLORREF clrBegin, COLORREF clrEnd);
  292. void SetColorBk(COLORREF clrBegin, COLORREF clrMid, COLORREF clrEnd);
  293. void SetEffectBk(DWORD dwEffect, BYTE nGranularity = 5);
  294. //behaviour's methods
  295. void SetBehaviour(DWORD dwBehaviour = 0);
  296. DWORD GetBehaviour();
  297. void SetDelayTime(DWORD dwDuration, DWORD dwTime);
  298. DWORD GetDelayTime(DWORD dwDuration) const;
  299. void SetImageList(UINT nIdBitmap, int cx, int cy, int nCount, COLORREF crMask = RGB(255, 0, 255));
  300. void SetImageList(HBITMAP hBitmap, int cx, int cy, int nCount, COLORREF crMask = RGB(255, 0, 255));
  301. //functions for sizes
  302. void SetSize(int nSizeIndex, int nValue);
  303. int GetSize(int nSizeIndex);
  304. void SetDefaultSizes(BOOL bBalloonSize = TRUE);
  305. //functions for direction
  306. void SetDirection (DWORD dwDirection = PPTOOLTIP_BOTTOMEDGE_LEFT);
  307. DWORD GetDirection();
  308. void SetCallbackHyperlink(HWND hWnd, UINT nMessage, LPARAM lParam = 0);
  309. void EnableHyperlink(BOOL bEnable = TRUE);
  310. void SetDebugMode(BOOL bDebug = TRUE);
  311. // void EnableTextWrap(BOOL bEnable = TRUE){m_drawer.EnableTextWrap(bEnable);};
  312. void SetMaxTipWidth(int nWidth = 0){m_drawer.SetMaxWidth(nWidth);};
  313. //functions for
  314. void SetNotify(HWND hWnd);
  315. void SetNotify(BOOL bParentNotify = TRUE);
  316. void SetTextStyle(LPCTSTR lpszStyleName, LPCTSTR lpszStyleValue);
  317. void SetCssStyles(LPCTSTR lpszCssStyles = NULL);
  318. void SetCssStyles(DWORD dwIdCssStyle, LPCTSTR lpszPathDll = NULL); //Sets the CSS styles
  319. LPCTSTR GetCssStyles();
  320. void EnableEscapeSequences(BOOL bEnable);
  321. void HideBorder();
  322. void SetBorder(COLORREF color, int nWidth = 1, int nHeight = 1);
  323. void SetBorder(HBRUSH hbr, int nWidth = 1, int nHeight = 1);
  324. //Transparency of tooltip
  325. void SetTransparency(BYTE nTransparency = 0);
  326. inline BYTE GetTransparency() {return m_nTransparency;};
  327. //Shadow of the tooltip
  328. void SetTooltipShadow(int nOffsetX, int nOffsetY, BYTE nDarkenPercent = 50, BOOL bGradient = TRUE, int nDepthX = 7, int nDepthY = 7);
  329. void SetImageShadow(int nOffsetX, int nOffsetY, BYTE nDarkenPercent = 50, BOOL bGradient = TRUE, int nDepthX = 7, int nDepthY = 7);
  330. #ifdef PPTOOLTIP_USE_MENU
  331. //Methods for the menu
  332. void MenuToolPosition(DWORD nPos = PPTOOLTIP_MENU_LEFT | PPTOOLTIP_MENU_TOP);
  333. inline DWORD GetMenuToolPosition() {return m_dwMenuToolPos;};
  334. void OnMenuSelect(UINT nItemID, UINT nFlags, HMENU hSubMenu);
  335. void OnEnterIdle(UINT nWhy, CWnd* pWho);
  336. HWND GetRunningMenuWnd();
  337. #endif //PPTOOLTIP_USE_MENU
  338. static short GetVersionI() {return 0x22;}
  339. static LPCTSTR GetVersionC() {return (LPCTSTR)_T("2.2 beta");}
  340. private:
  341. virtual void OnDrawBorder(HDC hDC, HRGN hRgn);
  342. // Generated message map functions
  343. protected:
  344. void Pop();
  345. void KillTimers(DWORD dwIdTimer = NULL);
  346. void SetNewTooltip(HWND hWnd, const PPTOOLTIP_INFO & ti, BOOL bDisplayWithDelay = TRUE, TooltipType type = PPTOOLTIP_NORMAL);
  347. HWND GetWndFromPoint(LPPOINT lpPoint, PPTOOLTIP_INFO & ti, BOOL bCheckTool = TRUE);
  348. LRESULT SendNotify(LPPOINT pt, PPTOOLTIP_INFO & ti);
  349. BOOL IsCursorOverTooltip() const;
  350. inline BOOL IsVisible() const {return ((GetStyle() & WS_VISIBLE) == WS_VISIBLE);}
  351. BOOL IsNotify(); //Is enabled notification
  352. void PrepareDisplayTooltip(LPPOINT lpPoint);
  353. void OnRedrawTooltip(HDC hDC, BYTE nTransparency = 0);
  354. void OutputTooltipOnScreen(LPPOINT lpPoint, HDC hDC = NULL);
  355. void SetAutoPopTimer(); //Sets autopop timer
  356. void FreeResources();
  357. CString GetDebugInfoTool(LPPOINT lpPoint);
  358. DWORD GetTooltipDirection(DWORD dwDirection, const CPoint & ptPoint, CPoint & ptAnchor, CRect & rcBody, CRect & rcFull, CRect & rcTipArea);
  359. HRGN GetTooltipRgn(DWORD dwDirection, int x, int y, int nWidth, int nHeight);
  360. CString GetMaxDebugString(LPCTSTR lpszText);
  361. CString CreateDebugCell(CString sTitle, LPCTSTR lpszDescription);
  362. BOOL FindTool(HWND hWnd, const LPPOINT lpPoint, PPTOOLTIP_INFO & ti);
  363. HWND FindTool(const LPPOINT lpPoint, PPTOOLTIP_INFO & ti);
  364. HWND FindToolBarItem(POINT point, PPTOOLTIP_INFO & ti);
  365. BOOL IsComboBoxControl(HWND hWnd, UINT nStyle);
  366. //{{AFX_MSG(CPPToolTip)
  367. afx_msg void OnPaint();
  368. afx_msg void OnTimer(UINT nIDEvent);
  369. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  370. //}}AFX_MSG
  371. #if _MSC_VER < 1300
  372. afx_msg void OnActivateApp(BOOL bActive, HTASK hTask);
  373. #else
  374. afx_msg void OnActivateApp(BOOL bActive, DWORD hTask);
  375. #endif
  376. afx_msg LRESULT OnRepaintWindow(WPARAM wParam, LPARAM lParam);
  377. DECLARE_MESSAGE_MAP()
  378. };
  379. /////////////////////////////////////////////////////////////////////////////
  380. //{{AFX_INSERT_LOCATION}}
  381. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  382. #endif