DateDialog.cpp
上传用户:shilei2004
上传日期:2020-07-18
资源大小:83k
文件大小:2k
源码类别:

RichEdit

开发平台:

Visual C++

  1. // DateDialog.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Edit.h"
  5. #include "DateDialog.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CDateDialog dialog
  13. SYSTEMTIME CDateDialog::m_time;
  14. LCID CDateDialog::m_id;
  15. CListBox* CDateDialog::m_pListBox = NULL;
  16. CDateDialog::CDateDialog(CWnd* pParent /*=NULL*/)
  17. : CDialog(CDateDialog::IDD, pParent)
  18. {
  19. //{{AFX_DATA_INIT(CDateDialog)
  20. m_strSel = _T("");
  21. //}}AFX_DATA_INIT
  22. }
  23. void CDateDialog::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CDateDialog)
  27. DDX_Control(pDX, IDC_DATEDIALOG_LIST, m_listBox);
  28. DDX_LBString(pDX, IDC_DATEDIALOG_LIST, m_strSel);
  29. //}}AFX_DATA_MAP
  30. }
  31. BEGIN_MESSAGE_MAP(CDateDialog, CDialog)
  32. //{{AFX_MSG_MAP(CDateDialog)
  33. //}}AFX_MSG_MAP
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CDateDialog message handlers
  37. BOOL CDateDialog::OnInitDialog() 
  38. {
  39. CDialog::OnInitDialog();
  40. // TODO: Add extra initialization here
  41. m_pListBox = &m_listBox; // set static member
  42. GetLocalTime(&m_time);
  43. // m_id = GetUserDefaultLCID();
  44. EnumDateFormats(DateFmtEnumProc, m_id, DATE_SHORTDATE);
  45. EnumDateFormats(DateFmtEnumProc, m_id, DATE_LONGDATE);
  46. EnumTimeFormats(TimeFmtEnumProc, m_id, 0);
  47. m_pListBox = NULL;
  48. m_listBox.SetCurSel(0);
  49. return TRUE;  // return TRUE unless you set the focus to a control
  50.               // EXCEPTION: OCX Property Pages should return FALSE
  51. }
  52. BOOL CALLBACK CDateDialog::DateFmtEnumProc(LPTSTR lpszFormatString)
  53. {
  54. ASSERT(m_pListBox != NULL);
  55. TCHAR buf[256];
  56. VERIFY(GetDateFormat(m_id, 0, &m_time, lpszFormatString, buf, 256));
  57. if (m_pListBox->FindStringExact(-1,buf) == CB_ERR)
  58. m_pListBox->AddString(buf);
  59. return TRUE;
  60. }
  61. BOOL CALLBACK CDateDialog::TimeFmtEnumProc(LPTSTR lpszFormatString)
  62. {
  63. ASSERT(m_pListBox != NULL);
  64. TCHAR buf[256];
  65. VERIFY(GetTimeFormat(m_id, 0, &m_time, lpszFormatString, buf, 256));
  66. if (m_pListBox->FindStringExact(-1,buf) == CB_ERR)
  67. m_pListBox->AddString(buf);
  68. return TRUE;
  69. }