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

对话框与窗口

开发平台:

Visual C++

  1. // CustomizePageTools.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_CUSTOMIZEPAGETOOLS_H__58567F70_9B97_4337_A3D2_78B53624E90B__INCLUDED_)
  21. #define AFX_CUSTOMIZEPAGETOOLS_H__58567F70_9B97_4337_A3D2_78B53624E90B__INCLUDED_
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. class CToolRec : public CObject
  26. {
  27. public:
  28. CToolRec(LPCTSTR strTitle = NULL, LPCTSTR strCmd = NULL)
  29. {
  30. m_strTitle = strTitle;
  31. m_strCmd = strCmd;
  32. m_nIconID = 0;
  33. }
  34. CToolRec(const CToolRec& tool)
  35. {
  36. m_strTitle = tool.m_strTitle;
  37. m_strArg = tool.m_strArg;
  38. m_strCmd = tool.m_strCmd;
  39. m_strDir = tool.m_strDir;
  40. m_nIconID = tool.m_nIconID;
  41. }
  42. CToolRec* operator=(const CToolRec& tool)
  43. {
  44. m_strTitle = tool.m_strTitle;
  45. m_strArg = tool.m_strArg;
  46. m_strCmd = tool.m_strCmd;
  47. m_strDir = tool.m_strDir;
  48. m_nIconID = tool.m_nIconID;
  49. return this;
  50. }
  51. virtual void Serialize(CArchive& ar);
  52. public:
  53. UINT m_nIconID;         // Command ID to be associated with this tool.
  54. CString m_strTitle;
  55. CString m_strArg;       // String that represents the argument passed to the executable.
  56. CString m_strCmd;       // String that represents the executable associated with this command.
  57. CString m_strDir;       // String that represents the default directory.
  58. };
  59. typedef CList<CToolRec, CToolRec&> CToolsList;
  60. /////////////////////////////////////////////////////////////////////////////
  61. // CCustomizePageTools dialog
  62. class CCustomizePageTools : public CPropertyPage
  63. {
  64. DECLARE_DYNCREATE(CCustomizePageTools)
  65. // Construction
  66. public:
  67. CCustomizePageTools();
  68. ~CCustomizePageTools();
  69. public:
  70. static void SaveTools(LPCTSTR lpszProfile);
  71. static BOOL LoadTools(LPCTSTR lpszProfile);
  72. static CToolsList m_lstTools;
  73. static void UpdateIcons();
  74. protected:
  75. // Dialog Data
  76. //{{AFX_DATA(CCustomizePageTools)
  77. enum { IDD = IDD_PAGE_TOOLS };
  78. CStatic m_txtToolsDir;
  79. CStatic m_txtToolsArg;
  80. CStatic m_txtToolsCmd;
  81. CString m_strToolsDir;
  82. CString m_strToolsArg;
  83. CString m_strToolsCmd;
  84. //}}AFX_DATA
  85. CXTBrowseEdit   m_editToolsDir;
  86. CXTBrowseEdit   m_editToolsArg;
  87. CXTBrowseEdit   m_editToolsCmd;
  88. CXTEditListBox  m_lboxToolsList;
  89. protected:
  90. void UpdateToolData();
  91. void EnableControls(bool bEnable);
  92. void UpdateToolsList();
  93. // Ignore:
  94. //{{AFX_VIRTUAL(CCustomizePageTools)
  95. public:
  96. virtual BOOL OnKillActive();
  97. protected:
  98. virtual void DoDataExchange(CDataExchange* pDX);
  99. //}}AFX_VIRTUAL
  100. protected:
  101. // Ignore:
  102. //{{AFX_MSG(CCustomizePageTools)
  103. virtual BOOL OnInitDialog();
  104. afx_msg void OnSelchangeEditList();
  105. afx_msg void OnChangeToolsCmd();
  106. afx_msg void OnChangeToolsArg();
  107. afx_msg void OnChangeToolsDir();
  108. afx_msg void OnDestroy();
  109. //}}AFX_MSG
  110. afx_msg void OnLabelEditEnd();
  111. afx_msg void OnLabelEditCancel();
  112. afx_msg void OnNewItem();
  113. afx_msg void OnPreDeleteItem();
  114. DECLARE_MESSAGE_MAP()
  115. };
  116. //{{AFX_INSERT_LOCATION}}
  117. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  118. #endif // !defined(AFX_CUSTOMIZEPAGETOOLS_H__58567F70_9B97_4337_A3D2_78B53624E90B__INCLUDED_)