BalloonTip.h
上传用户:tianjwyx
上传日期:2007-01-13
资源大小:813k
文件大小:3k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. /*******************************************************************************
  2. File:        BalloonTip.h
  3. Description: This file contains the module for creating a a balloon tip which can
  4.              be shown anywhere on a parent window
  5.              
  6. Created: Nov 1, 2001
  7. Author:  Prateek Kaul
  8. e-mail:  kaulpr@yahoo.com
  9. Compiler with version number : Visual C++ 6.0
  10. Copyright (c) 2001, Prateek Kaul
  11. All rights Reserved.
  12. The copyright to the computer program(s) herein is the property of Prateek Kaul
  13. The program(s) may be used and/or copied only with the written permission of 
  14. Prateek Kaul or in accordance with the terms and conditions stipulated
  15. in the agreement/contract under which the program(s) have been supplied.
  16. ********************************************************************************/
  17. #ifndef _BALLOONTIP_H
  18. #define _BALLOONTIP_H
  19. #if _MSC_VER > 1000
  20. #pragma once
  21. #endif // _MSC_VER > 1000
  22. const int ID_TIMER = 100;
  23. /*---------------------------------------------------------------------------
  24.  class CBalloonTip
  25.  Created: Nov 1, 2001
  26.  Author:  Prateek Kaul
  27.  e-mail:  kaulpr@yahoo.com
  28.  Abstract : For creating a balloon tip
  29.  Revisions :none.
  30. ----------------------------------------------------------------------------*/
  31. class CBalloonTip : public CFrameWnd
  32. {
  33.     DECLARE_MESSAGE_MAP()
  34. public:
  35. // Implementation
  36.     // Creates a new CBalloonTip Object
  37.     static CBalloonTip* Show(
  38.                CPoint pt,         // Point where the balloon tip will be  
  39.                CSize size,        // Size of the balloon
  40.                CString strMessage,// Messsage to be shown
  41.                LOGFONT lf, // A LOGFONT structure from which the message font will created  
  42.                UINT nSecs, // Seconds for which the balloon will be shown
  43.                BOOL bBalloonUp    // Is balloon show up or upside down?
  44.             );
  45.     // Makes the window invisible, destroys, and releases resources, if required to destroy before
  46.     // the Timer ticks.
  47.     static void Hide(CBalloonTip* pBalloonTip); 
  48.     static int nBalloonInstances;
  49. protected:
  50. virtual void PostNcDestroy();
  51. // Implementation
  52.    CBalloonTip(CString strMessage, LOGFONT lf, BOOL bBalloonUp);
  53.     ~CBalloonTip();
  54.     BOOL Create(CRect rect);       // Create the Windows(R) window, HANDLE etc ...
  55.     void MakeVisisble(UINT nSecs); // Show the balloon for nSecs Seconds
  56. // Overrides and messages
  57. //{{AFX_MSG(CBalloonTip)
  58. afx_msg void OnTimer(UINT nIDEvent);
  59. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  60. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  61. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  62. afx_msg void OnPaint();
  63. //}}AFX_MSG
  64.     virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  65. // Attributes
  66.     BOOL    m_bBalloonUp;   // Is balloon up or upside down
  67. CRect   m_rectText;     // Rectabgle where the text will be in the balloon
  68.     CRect   m_rectWindow;   // Rectangle in which the balloon will be displayed in screen coordinates
  69.     CString m_strMessage;   // Message to be displayed in the balloon
  70. CFont   m_fontBalloonText; // Font of the message
  71. CRgn    m_rgnTip;          // The region of the tip
  72. CRgn    m_rgnRoundRect;   // The region of the round rectangle  
  73.     CWnd    m_wndInvisibleParent; // Invisible parent of this window, this avoids the balloon's
  74.                                   // appreance in the Taskbar
  75. };
  76. #endif // _BALLOONTIP_H