OptionsUtilities.cpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. theApp.CloseDB();
  51. CGetSetOptions::SetDBPath(csPath);
  52. }
  53. return CPropertyPage::OnApply();
  54. }
  55. BOOL COptionsUtilities::OnInitDialog()
  56. {
  57. CPropertyPage::OnInitDialog();
  58. m_ePath.SetWindowText(CGetSetOptions::GetDBPath(FALSE));
  59. return TRUE;
  60. }
  61. void COptionsUtilities::OnRepair()
  62. {
  63. RepairDatabase();
  64. }
  65. void COptionsUtilities::OnGetPath()
  66. {
  67. OPENFILENAME FileName;
  68. char szFileName[400];
  69. char szDir[400];
  70. memset(&FileName, 0, sizeof(FileName));
  71. memset(szFileName, 0, sizeof(szFileName));
  72. memset(&szDir, 0, sizeof(szDir));
  73. FileName.lStructSize = sizeof(FileName);
  74. FileName.lpstrTitle = "Open Database";
  75. FileName.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
  76. FileName.nMaxFile = 400;
  77. FileName.lpstrFile = szFileName;
  78. FileName.lpstrInitialDir = szDir;
  79. FileName.lpstrFilter = "Database Files (.MDB)\0*.mdb";
  80. FileName.lpstrDefExt = "mdb";
  81. if(GetOpenFileName(&FileName) == 0)
  82. return;
  83. CString csPath(FileName.lpstrFile);
  84. m_ePath.SetWindowText(csPath);
  85. }