vc Edit Box 使用实例
2007年03月20日 星期二 15:43
用Edit Box 显示系统实时时间:
在对话框的初始化函数OnInitDialog()中添加以下程序:
SYSTEMTIME st;
GetLocalTime(&st); CString str_temp; str_temp.Format("%u/%u/%u %u:%u:%u:%u/n", st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond, st.wMilliseconds); CEdit* edt = (CEdit*)GetDlgItem(IDC_EDIT_TIME); edt->SetWindowText(str_temp);
用Edit Box 显示系统当前时间:
在对话框的初始化函数OnInitDialog()中添加以下程序:
CString str;
CTime tm; tm = CTime::GetCurrentTime(); //把获得的当前时间保存到变量tm中 str = tm.Format("%Y年%m月%d日 %X"); this->GetDlgItem(IDC_EDIT1)->SetWindowText(str);
用Edit Box 只接受数字输入:
在对话框初始化函数中添加以下代码:
CEdit* m_edit = (CEdit*)GetDlgItem(IDC_EDIT1);
long wl = GetWindowLong(m_edit->m_hWnd, GWL_STYLE); //获得Edit Box的窗口风格 SetWindowLong(m_edit->m_hWnd, GWL_STYLE, wl | ES_NUMBER); // 设置Edit Box新风格
自定义Edit Box的可输入内容:
重载对话框的PreTranslateMessage函数,并且添加以下代码:
BOOL CLangziDlg::PreTranslateMessage(MSG* pMsg)
{ CEdit* m_edit = (CEdit*)GetDlgItem(IDC_EDIT1); if((pMsg->hwnd == m_edit->m_hwnd) && (pMsg->message == WM_CHAR)) { if(65 != pMsg->wParam) //只允许输入字母A(A的ascll码是65) return TRUE; } } |