CaptionBtnDlg.h
上传用户:zslianheng
上传日期:2013-04-03
资源大小:946k
文件大小:3k
源码类别:

Linux/Unix编程

开发平台:

Visual C++

  1. /***************************************************************************
  2.  *                                                                         *
  3.  *   This program is free software; you can redistribute it and/or modify  *
  4.  *   it under the terms of the GNU General Public License as published by  *
  5.  *   the Free Software Foundation; either version 2 of the License, or     *
  6.  *   (at your option) any later version.                                   *
  7.  *                                                                         *
  8.  *   copyright            : (C) 2002 by Zhang Yong                         *
  9.  *   email                : z-yong163@163.com                              *
  10.  ***************************************************************************/
  11. #if !defined(AFX_CAPTIONBTNDLG_H__1C564C2E_F896_4AE9_92B4_864998452353__INCLUDED_)
  12. #define AFX_CAPTIONBTNDLG_H__1C564C2E_F896_4AE9_92B4_864998452353__INCLUDED_
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif // _MSC_VER > 1000
  16. // CaptionBtnDlg.h : header file
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. // CCaptionBtnDlg dialog
  20. class CCaptionBtnDlg : public CDialog
  21. {
  22. // Construction
  23. public:
  24. CCaptionBtnDlg(int buttons, UINT nIDTemplate, CWnd* pParent = NULL);   // standard constructor
  25. // Dialog Data
  26. //{{AFX_DATA(CCaptionBtnDlg)
  27. // NOTE: the ClassWizard will add data members here
  28. //}}AFX_DATA
  29. // Overrides
  30. // ClassWizard generated virtual function overrides
  31. //{{AFX_VIRTUAL(CCaptionBtnDlg)
  32. protected:
  33. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  34. //}}AFX_VIRTUAL
  35. private:
  36. void drawButtons();
  37. void drawButton(int button, BOOL pressed);
  38. int hitTest(CPoint &pt);
  39. int nrButtons;
  40. int pressedButton;
  41. int inButton;
  42. // Implementation
  43. protected:
  44. virtual void drawCaptionBtn(CDC *pDC, CRect &rc, int button, BOOL pressed) = 0;
  45. virtual void onCaptionBtnClicked(int button) = 0;
  46. // Generated message map functions
  47. //{{AFX_MSG(CCaptionBtnDlg)
  48. afx_msg void OnNcPaint();
  49. afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
  50. afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
  51. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  52. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  53. afx_msg BOOL OnNcActivate(BOOL bActive);
  54. //}}AFX_MSG
  55. afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);
  56. DECLARE_MESSAGE_MAP()
  57. };
  58. //{{AFX_INSERT_LOCATION}}
  59. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  60. #endif // !defined(AFX_CAPTIONBTNDLG_H__1C564C2E_F896_4AE9_92B4_864998452353__INCLUDED_)