SaveTextFileDialog.cpp
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:3k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. /* 
  2.  * Copyright (C) 2003-2005 Gabest
  3.  * http://www.gabest.org
  4.  *
  5.  *  This Program is free software; you can redistribute it and/or modify
  6.  *  it under the terms of the GNU General Public License as published by
  7.  *  the Free Software Foundation; either version 2, or (at your option)
  8.  *  any later version.
  9.  *   
  10.  *  This Program is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13.  *  GNU General Public License for more details.
  14.  *   
  15.  *  You should have received a copy of the GNU General Public License
  16.  *  along with GNU Make; see the file COPYING.  If not, write to
  17.  *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 
  18.  *  http://www.gnu.org/copyleft/gpl.html
  19.  *
  20.  */
  21. // SaveTextFileDialog.cpp : implementation file
  22. //
  23. #include "stdafx.h"
  24. #include "mplayerc.h"
  25. #include "SaveTextFileDialog.h"
  26. // CSaveTextFileDialog
  27. IMPLEMENT_DYNAMIC(CSaveTextFileDialog, CFileDialog)
  28. CSaveTextFileDialog::CSaveTextFileDialog(
  29. CTextFile::enc e,
  30. LPCTSTR lpszDefExt, LPCTSTR lpszFileName,
  31. LPCTSTR lpszFilter, CWnd* pParentWnd) :
  32. CFileDialog(FALSE, lpszDefExt, lpszFileName, 
  33. OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST, 
  34. lpszFilter, pParentWnd, 0),
  35. m_e(e)
  36. {
  37. if(m_ofn.lStructSize == sizeof(OPENFILENAME))
  38. {
  39. SetTemplate(0, IDD_SAVETEXTFILEDIALOGTEMPL);
  40. }
  41. else /*if(m_ofn.lStructSize == OPENFILENAME_SIZE_VERSION_400)*/
  42. {
  43. SetTemplate(0, IDD_SAVETEXTFILEDIALOGTEMPL_400);
  44. }
  45. }
  46. CSaveTextFileDialog::~CSaveTextFileDialog()
  47. {
  48. }
  49. void CSaveTextFileDialog::DoDataExchange(CDataExchange* pDX)
  50. {
  51. DDX_Control(pDX, IDC_COMBO1, m_encoding);
  52. CFileDialog::DoDataExchange(pDX);
  53. }
  54. BOOL CSaveTextFileDialog::OnInitDialog()
  55. {
  56. CFileDialog::OnInitDialog();
  57. m_encoding.AddString(_T("ANSI"));
  58. m_encoding.AddString(_T("Unicode 16-LE"));
  59. m_encoding.AddString(_T("Unicode 16-BE"));
  60. m_encoding.AddString(_T("UTF-8"));
  61. switch(m_e)
  62. {
  63. default:
  64. case CTextFile::ASCII: m_encoding.SetCurSel(0); break;
  65. case CTextFile::LE16: m_encoding.SetCurSel(1); break;
  66. case CTextFile::BE16: m_encoding.SetCurSel(2); break;
  67. case CTextFile::UTF8: m_encoding.SetCurSel(3); break;
  68. }
  69. return TRUE;  // return TRUE unless you set the focus to a control
  70. // EXCEPTION: OCX Property Pages should return FALSE
  71. }
  72. BEGIN_MESSAGE_MAP(CSaveTextFileDialog, CFileDialog)
  73. END_MESSAGE_MAP()
  74. // CSaveTextFileDialog message handlers
  75. BOOL CSaveTextFileDialog::OnFileNameOK()
  76. {
  77. switch(m_encoding.GetCurSel())
  78. {
  79. case 0: m_e = CTextFile::ASCII; break;
  80. case 1: m_e = CTextFile::LE16; break;
  81. case 2: m_e = CTextFile::BE16; break;
  82. case 3: m_e = CTextFile::UTF8; break;
  83. default: break;
  84. }
  85. return CFileDialog::OnFileNameOK();
  86. }