DialogExt.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // DialogExt.h: interface for the CDialogExt class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DIALOGEXT_H__45C87796_F2BC_4097_BCA4_53C144B219DD__INCLUDED_)
  5. #define AFX_DIALOGEXT_H__45C87796_F2BC_4097_BCA4_53C144B219DD__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. typedef struct wndstate
  10. {
  11. bool m_sizable;
  12. bool m_minable;
  13. bool m_maxable;
  14. bool m_helpable;
  15. bool m_sysmenu;
  16. int m_winstate;
  17. WNDPROC oldWndProc;
  18. }WNDSTATE;
  19. class CDialogExt
  20. {
  21. public:
  22. CDialogExt() {}
  23. ~CDialogExt() {}
  24. static HWND m_hWnd;
  25. static WNDPROC m_cWndProc;
  26. static int m_height; //位图高度,也就是窗口标题栏高度
  27. static int m_width;
  28. static CBitmap m_bmptop;
  29. static CBitmap m_bmpclose;
  30. static CBitmap m_bmpmax;
  31. static CBitmap m_bmpmin;
  32. static CBitmap m_bmprestore;
  33. static int m_buttonstate;
  34. static CFont m_CaptionFont;
  35. static void Init();
  36. static CRect GetMaximizeRect();
  37. static LRESULT DefWindowProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );
  38. static void OnNcPaint(CWnd* pWnd );
  39. static BOOL Draw( CDC *pDC, int x, int y, LPRECT sr , CBitmap &bmp);
  40. static void Maximize();
  41. static void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS *lpncsp);
  42. static BOOL DrawButton( CDC * pDC, int i, int state);
  43. static CRect GetButtonRect(int i);
  44. static bool OnNcLButtonDown(UINT nHitTest, CPoint point);
  45. static void OnNcLButtonUp(UINT nHitTest, CPoint point);
  46. static void OnNcLButtonDblClk(UINT nHitTest, CPoint point);
  47. static void OnNcMouseMove(UINT nHitTest, CPoint point);
  48. };
  49. #endif // !defined(AFX_DIALOGEXT_H__45C87796_F2BC_4097_BCA4_53C144B219DD__INCLUDED_)