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

对话框与窗口

开发平台:

Visual C++

  1. // FilterDialog.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Styler.h"
  5. #include "FilterDialog.h"
  6. #include "Shlwapi.h"
  7. CStringArray CFilterDialog::m_lstFilter;
  8. // CFilterDialog dialog
  9. IMPLEMENT_DYNAMIC(CFilterDialog, CDialog)
  10. CFilterDialog::CFilterDialog(CWnd* pParent /*=NULL*/)
  11. : CDialog(CFilterDialog::IDD, pParent)
  12. {
  13. }
  14. CFilterDialog::~CFilterDialog()
  15. {
  16. }
  17. void CFilterDialog::DoDataExchange(CDataExchange* pDX)
  18. {
  19. CDialog::DoDataExchange(pDX);
  20. }
  21. BEGIN_MESSAGE_MAP(CFilterDialog, CDialog)
  22. END_MESSAGE_MAP()
  23. // CFilterDialog message handlers
  24. BOOL CFilterDialog::OnInitDialog()
  25. {
  26. CDialog::OnInitDialog();
  27. CListBox* pLB = (CListBox*)GetDlgItem(IDC_LIST);
  28. for (int i = 0; i < m_lstFilter.GetSize(); i++)
  29. {
  30. pLB->AddString(m_lstFilter[i]);
  31. }
  32. m_LBEditor.SubclassDlgItem(IDC_LIST, this);
  33. m_LBEditor.SetListEditStyle(_T(" &Items:"), LBS_XT_DEFAULT);
  34. return TRUE;  // return TRUE unless you set the focus to a control
  35. // EXCEPTION: OCX Property Pages should return FALSE
  36. }
  37. void CFilterDialog::LoadFilterList(void)
  38. {
  39. CString strPath = GetModuleDir();
  40. TCHAR chReturn[100];
  41. CString strUrl;
  42. int nIndex = 0;
  43. strUrl.Format(_T("url%i"), nIndex);
  44. while (GetPrivateProfileString(_T("Filter"), strUrl, _T(""), chReturn, 100, strPath + _T("urlfilter.ini")) > 0)
  45. {
  46. CString strReturn(chReturn);
  47. if (!strReturn.IsEmpty())
  48. {
  49. m_lstFilter.Add(strReturn);
  50. }
  51. strUrl.Format(_T("url%i"), ++nIndex);
  52. }
  53. }
  54. void CFilterDialog::OnOK()
  55. {
  56. CListBox* pLB = (CListBox*)GetDlgItem(IDC_LIST);
  57. m_lstFilter.RemoveAll();
  58. for (int i = 0; i < pLB->GetCount(); i++)
  59. {
  60. CString str;
  61. pLB->GetText(i, str);
  62. if (!str.IsEmpty())
  63. m_lstFilter.Add(str);
  64. }
  65. SaveFilterList();
  66. CDialog::OnOK();
  67. }
  68. void CFilterDialog::SaveFilterList(void)
  69. {
  70. CString strPath = GetModuleDir();
  71. CString strUrl;
  72. if (PathFileExists(strPath + _T("urlfilter.ini")))
  73. DeleteFile(strPath + _T("urlfilter.ini"));
  74. for (int i = 0; i < m_lstFilter.GetSize(); i++)
  75. {
  76. strUrl.Format(_T("url%i"), i);
  77. WritePrivateProfileString(_T("Filter"), strUrl, m_lstFilter[i], strPath + _T("urlfilter.ini"));
  78. }
  79. }