OptionsUtilities.cpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // OptionsUtilities.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "CP_Main.h"
  5. #include "OptionsUtilities.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // COptionsUtilities property page
  13. IMPLEMENT_DYNCREATE(COptionsUtilities, CPropertyPage)
  14. COptionsUtilities::COptionsUtilities() : CPropertyPage(COptionsUtilities::IDD)
  15. {
  16. //{{AFX_DATA_INIT(COptionsUtilities)
  17. // NOTE: the ClassWizard will add member initialization here
  18. //}}AFX_DATA_INIT
  19. }
  20. COptionsUtilities::~COptionsUtilities()
  21. {
  22. }
  23. void COptionsUtilities::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CPropertyPage::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(COptionsUtilities)
  27. DDX_Control(pDX, IDC_PATH, m_ePath);
  28. //}}AFX_DATA_MAP
  29. }
  30. BEGIN_MESSAGE_MAP(COptionsUtilities, CPropertyPage)
  31. //{{AFX_MSG_MAP(COptionsUtilities)
  32. ON_BN_CLICKED(IDC_COMPACT_DB, OnCompactDB)
  33. ON_BN_CLICKED(IDC_REPAIR, OnRepair)
  34. ON_BN_CLICKED(IDC_GET_PATH, OnGetPath)
  35. //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. /////////////////////////////////////////////////////////////////////////////
  38. // COptionsUtilities message handlers
  39. void COptionsUtilities::OnCompactDB()
  40. {
  41. CompactDatabase();
  42. }
  43. BOOL COptionsUtilities::OnApply()
  44. {
  45. CString csPath;
  46. m_ePath.GetWindowText(csPath);
  47. CString csOldPath = CGetSetOptions::GetDBPath(FALSE);
  48. if(csOldPath != csPath)
  49. {
  50. CGetSetOptions::SetDBPath(csPath);
  51. }
  52. return CPropertyPage::OnApply();
  53. }
  54. BOOL COptionsUtilities::OnInitDialog()
  55. {
  56. CPropertyPage::OnInitDialog();
  57. m_ePath.SetWindowText(CGetSetOptions::GetDBPath(FALSE));
  58. return TRUE;
  59. }
  60. void COptionsUtilities::OnRepair()
  61. {
  62. RepairDatabase();
  63. }
  64. void COptionsUtilities::OnGetPath()
  65. {
  66. OPENFILENAME FileName;
  67. TCHAR szFileName[400];
  68. TCHAR szDir[400];
  69. memset(&FileName, 0, sizeof(FileName));
  70. memset(szFileName, 0, sizeof(szFileName));
  71. memset(&szDir, 0, sizeof(szDir));
  72. FileName.lStructSize = sizeof(FileName);
  73. FileName.lpstrTitle = _T("Open Database");
  74. FileName.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
  75. FileName.nMaxFile = 400;
  76. FileName.lpstrFile = szFileName;
  77. FileName.lpstrInitialDir = szDir;
  78. FileName.lpstrFilter = _T("Database Files (.MDB)\0*.mdb");
  79. FileName.lpstrDefExt = _T("mdb");
  80. if(GetOpenFileName(&FileName) == 0)
  81. return;
  82. CString csPath(FileName.lpstrFile);
  83. m_ePath.SetWindowText(csPath);
  84. }