TestEditDlg.cpp
上传用户:xujuna1
上传日期:2007-01-02
资源大小:37k
文件大小:5k
源码类别:

编辑框

开发平台:

Visual C++

  1. // TestEditDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "TestEdit.h"
  5. #include "TestEditDlg.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CTestEditDlg dialog
  13. CTestEditDlg::CTestEditDlg(CWnd* pParent /*=NULL*/)
  14. : CDialog(CTestEditDlg::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CTestEditDlg)
  17. m_EditMaxH = _T("23");
  18. m_EditMaxM = _T("59");
  19. //}}AFX_DATA_INIT
  20. m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
  21. }
  22. void CTestEditDlg::DoDataExchange(CDataExchange* pDX)
  23. {
  24. CDialog::DoDataExchange(pDX);
  25. //{{AFX_DATA_MAP(CTestEditDlg)
  26. DDX_Control(pDX, IDC_EDIT7, m_EditPCodeCtrl);
  27. DDX_Control(pDX, IDC_EDIT6, m_EditIPCtrl);
  28. DDX_Control(pDX, IDC_EDIT5, m_EditPhoneCtrl);
  29. DDX_Control(pDX, IDC_EDIT4, m_DateEditCtrl);
  30. DDX_Control(pDX, IDC_EDIT1, m_TimeEditCtrl);
  31. DDX_Text(pDX, IDC_EDIT2, m_EditMaxH);
  32. DDV_MaxChars(pDX, m_EditMaxH, 2);
  33. DDX_Text(pDX, IDC_EDIT3, m_EditMaxM);
  34. DDV_MaxChars(pDX, m_EditMaxM, 2);
  35. //}}AFX_DATA_MAP
  36. }
  37. BEGIN_MESSAGE_MAP(CTestEditDlg, CDialog)
  38. //{{AFX_MSG_MAP(CTestEditDlg)
  39. ON_EN_CHANGE(IDC_EDIT2, OnChangeEdit2)
  40. ON_EN_CHANGE(IDC_EDIT3, OnChangeEdit3)
  41. ON_WM_PAINT()
  42. ON_WM_QUERYDRAGICON()
  43. //}}AFX_MSG_MAP
  44. END_MESSAGE_MAP()
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CTestEditDlg message handlers
  47. void CTestEditDlg::OnChangeEdit2() 
  48. {
  49. // TODO: If this is a RICHEDIT control, the control will not
  50. // send this notification unless you override the CDialog::OnInitDialog()
  51. // function to send the EM_SETEVENTMASK message to the control
  52. // with the ENM_CHANGE flag ORed into the lParam mask.
  53. // TODO: Add your control notification handler code here
  54. UpdateData();
  55. m_TimeEditCtrl.SetHours(atoi(m_EditMaxH));
  56. }
  57. void CTestEditDlg::OnChangeEdit3() 
  58. {
  59. // TODO: If this is a RICHEDIT control, the control will not
  60. // send this notification unless you override the CDialog::OnInitDialog()
  61. // function to send the EM_SETEVENTMASK message to the control
  62. // with the ENM_CHANGE flag ORed into the lParam mask.
  63. // TODO: Add your control notification handler code here
  64. UpdateData();
  65. m_TimeEditCtrl.SetMins(atoi(m_EditMaxM));
  66. }
  67. BOOL CTestEditDlg::OnInitDialog() 
  68. {
  69. CDialog::OnInitDialog();
  70. // Set the icon for this dialog.  The framework does this automatically
  71. //  when the application's main window is not a dialog
  72. SetIcon(m_hIcon, TRUE); // Set big icon
  73. SetIcon(m_hIcon, FALSE); // Set small icon
  74. // TODO: Add extra initialization here
  75. //CTimeEdit Initialisation
  76. m_TimeEditCtrl.SetTime(COleDateTime::GetCurrentTime());
  77. //CDateEdit Initialisation
  78. m_DateEditCtrl.SetDate(COleDateTime::GetCurrentTime());
  79. //CMaskEdit - Telephone Initialisation
  80. m_EditPhoneCtrl.m_bisTime      = FALSE;
  81. m_EditPhoneCtrl.m_isdate      = FALSE;
  82. m_EditPhoneCtrl.m_bUseMask       = TRUE;
  83. m_EditPhoneCtrl.m_strMask        = "0000 0000000";
  84. m_EditPhoneCtrl.m_strLiteral     = "____ _______";
  85. m_EditPhoneCtrl.m_str            = "0116 2111111";
  86. m_EditPhoneCtrl.m_strMaskLiteral = m_EditPhoneCtrl.m_str;
  87. m_EditPhoneCtrl.SetWindowText(m_EditPhoneCtrl.m_str);
  88. //CMaskEdit - IP Address Initialisation
  89. m_EditIPCtrl.m_bisTime       = FALSE;
  90. m_EditIPCtrl.m_isdate       = FALSE;
  91. m_EditIPCtrl.m_bUseMask       = TRUE;
  92. m_EditIPCtrl.m_strMask        = "999.999.999.999";
  93. m_EditIPCtrl.m_strLiteral     = "___.___.___.___";
  94. m_EditIPCtrl.m_str            = "209.66 .99 .126";
  95. m_EditIPCtrl.m_strMaskLiteral = m_EditIPCtrl.m_str;
  96. m_EditIPCtrl.SetWindowText(m_EditIPCtrl.m_str);
  97. //CMaskEdit - IPost Code Initialisation
  98. m_EditPCodeCtrl.m_bisTime      = FALSE;
  99. m_EditPCodeCtrl.m_isdate      = FALSE;
  100. m_EditPCodeCtrl.m_bUseMask       = TRUE;
  101. m_EditPCodeCtrl.m_strMask        = "LL00 0LL";
  102. m_EditPCodeCtrl.m_strLiteral     = "____ ___";
  103. m_EditPCodeCtrl.m_str            = "LE12 7AT";
  104. m_EditPCodeCtrl.m_strMaskLiteral = m_EditPCodeCtrl.m_str;
  105. m_EditPCodeCtrl.SetWindowText(m_EditPCodeCtrl.m_str);
  106. return TRUE;  // return TRUE  unless you set the focus to a control
  107. }
  108. void CTestEditDlg::OnPaint() 
  109. {
  110. if (IsIconic())
  111. {
  112. CPaintDC dc(this); // device context for painting
  113. SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
  114. // Center icon in client rectangle
  115. int cxIcon = GetSystemMetrics(SM_CXICON);
  116. int cyIcon = GetSystemMetrics(SM_CYICON);
  117. CRect rect;
  118. GetClientRect(&rect);
  119. int x = (rect.Width() - cxIcon + 1) / 2;
  120. int y = (rect.Height() - cyIcon + 1) / 2;
  121. // Draw the icon
  122. dc.DrawIcon(x, y, m_hIcon);
  123. }
  124. else
  125. {
  126. CDialog::OnPaint();
  127. }
  128. }
  129. // The system calls this to obtain the cursor to display while the user drags
  130. //  the minimized window.
  131. HCURSOR CTestEditDlg::OnQueryDragIcon()
  132. {
  133. return (HCURSOR) m_hIcon;
  134. }