vc Edit Box 使用实例

本文介绍了如何使用vcEditBox显示系统时间和日期,限制输入为纯数字,以及如何通过PreTranslateMessage函数自定义允许输入的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
   }
}
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值