如何设置cedit中输入的字母是大写,还是让它只能输入0-F之间的数据呢谢谢

解决方案 »

  1.   

    从CEdit中派生一个新类,重载WM_CHAR消息,在其中判断按键输入,非正确输入就直接返回(或者按照你自己的要求给出提示)
      

  2.   

    右键属性UpperCase
    小写自动轮换成大写BOOL CDLG3Dlg::PreTranslateMessage(MSG* pMsg) 
    {
    if(WM_CHAR == pMsg->message  && pMsg->hwnd == GetDlgItem(IDC_EDIT1)->GetSafeHwnd())
    {
    TCHAR ch = (TCHAR)pMsg->wParam;    
    if((ch >='0' && ch <='9'))
    return CDialog::PreTranslateMessage(pMsg);
    if(ch >= 'A' && ch <= 'F')
    return CDialog::PreTranslateMessage(pMsg);
    return true; }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  3.   

    he_zhidan(何志丹:壮志在我心) 
    老大,你是只能输入0-F的数字,如果我输入的是a,我要把它自动显示成A,这样就好像是输入的A谢谢
    谢谢
      

  4.   

    BOOL CDLG3Dlg::PreTranslateMessage(MSG* pMsg) 
    {
    if(WM_CHAR == pMsg->message  && pMsg->hwnd == GetDlgItem(IDC_EDIT1)->GetSafeHwnd())
    {
    TCHAR ch = (TCHAR)pMsg->wParam;    
    if((ch >='0' && ch <='9'))
    return CDialog::PreTranslateMessage(pMsg);
    if(ch >= 'A' && ch <= 'F')
    return CDialog::PreTranslateMessage(pMsg);
                      if(ch >= 'a' && ch <= 'f')
    return CDialog::PreTranslateMessage(pMsg);             
    return true; }
    return CDialog::PreTranslateMessage(pMsg);
    }
    至于转换,只能你在WM_CHAR消息中处理了