PupText.h
上传用户:sdpcwz
上传日期:2009-12-14
资源大小:1237k
文件大小:1k
源码类别:

书籍源码

开发平台:

Visual C++

  1. //
  2. #pragma once
  3. //////////////////
  4. // Get NONCLIENTMETRICS info: ctor calls SystemParametersInfo.
  5. //
  6. class CNonClientMetrics : public NONCLIENTMETRICS {
  7. public:
  8. CNonClientMetrics() {
  9. cbSize = sizeof(NONCLIENTMETRICS);
  10. SystemParametersInfo(SPI_GETNONCLIENTMETRICS,0,this,0);
  11. }
  12. };
  13. //////////////////
  14. // Popup text window, like tooltip.
  15. // Can be right or left justified relative to creation point.
  16. //
  17. class CPopupText : public CWnd {
  18. public:
  19. CSize m_szMargins; // extra space around text: change if you like
  20. CPopupText();
  21. virtual ~CPopupText();
  22. BOOL Create(CPoint pt, CWnd* pParentWnd, UINT nStyle=0, UINT nID=0);
  23. void ShowDelayed(UINT msec);
  24. void Cancel();
  25. protected:
  26. UINT m_nStyle; // style (see below)
  27. virtual void PostNcDestroy();
  28. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  29. void DrawText(CDC& dc, LPCTSTR lpText, CRect& rc, UINT flags);
  30. afx_msg UINT OnNcHitTest(CPoint pt);
  31. afx_msg void OnPaint();
  32. afx_msg void OnTimer(UINT nIDEvent);
  33. afx_msg LRESULT OnSetText(WPARAM wp, LPARAM lp);
  34. DECLARE_DYNAMIC(CPopupText);
  35. DECLARE_MESSAGE_MAP();
  36. };
  37. #define PTS_JUSTIFYLEFT  0x0000
  38. #define PTS_JUSTIFYRIGHT 0x0001
  39. #define PTS_TRANSPARENT  0x0002