SimpleForm.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // SimpleForm.h : header file
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(AFX_SIMPLEFORM_H__CD375CBC_CB75_4973_B05B_1D158BFEA6BF__INCLUDED_)
  21. #define AFX_SIMPLEFORM_H__CD375CBC_CB75_4973_B05B_1D158BFEA6BF__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CSimpleForm form view
  27. #ifndef __AFXEXT_H__
  28. #include <afxext.h>
  29. #endif
  30. template <class BASE_CLASS>
  31. class CAutoFocusWnd : public BASE_CLASS
  32. {
  33. public:
  34. CAutoFocusWnd(UINT nIDTemplate) : BASE_CLASS(nIDTemplate)
  35. {
  36. m_hwndLastFocus = 0;
  37. }
  38. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
  39. {
  40. switch (message)
  41. {
  42. case WM_SETFOCUS:
  43. if (m_hwndLastFocus)
  44. {
  45. ::SetFocus(m_hwndLastFocus);
  46. return TRUE;
  47. }
  48. break;
  49. case WM_IDLEUPDATECMDUI:
  50. HWND hwndFocus = ::GetFocus();
  51. if (m_hwndLastFocus != hwndFocus && ::IsChild(m_hWnd, hwndFocus))
  52. {
  53. m_hwndLastFocus = hwndFocus;
  54. }
  55. break;
  56. }
  57. return BASE_CLASS::WindowProc(message, wParam, lParam);
  58. }
  59. protected:
  60. HWND m_hwndLastFocus;
  61. };
  62. class CSimpleForm : public CAutoFocusWnd<CFormView>
  63. {
  64. protected:
  65. CSimpleForm();           // protected constructor used by dynamic creation
  66. DECLARE_DYNCREATE(CSimpleForm)
  67. // Form Data
  68. public:
  69. //{{AFX_DATA(CSimpleForm)
  70. enum { IDD = IDD_DIALOG_FORM };
  71. // NOTE: the ClassWizard will add data members here
  72. //}}AFX_DATA
  73. // Attributes
  74. public:
  75. // Operations
  76. public:
  77. // Overrides
  78. // ClassWizard generated virtual function overrides
  79. //{{AFX_VIRTUAL(CSimpleForm)
  80. public:
  81. virtual void OnInitialUpdate();
  82. protected:
  83. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  84. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  85. //}}AFX_VIRTUAL
  86. // Implementation
  87. protected:
  88. virtual ~CSimpleForm();
  89. #ifdef _DEBUG
  90. virtual void AssertValid() const;
  91. virtual void Dump(CDumpContext& dc) const;
  92. #endif
  93. // Generated message map functions
  94. //{{AFX_MSG(CSimpleForm)
  95. afx_msg void OnPaint();
  96. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  97. //}}AFX_MSG
  98. DECLARE_MESSAGE_MAP()
  99. };
  100. /////////////////////////////////////////////////////////////////////////////
  101. //{{AFX_INSERT_LOCATION}}
  102. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  103. #endif // !defined(AFX_SIMPLEFORM_H__CD375CBC_CB75_4973_B05B_1D158BFEA6BF__INCLUDED_)