已经取到当前焦点的控件句柄或者指针, 请问怎样才能判断能否输入文字?

解决方案 »

  1.   

    判断是否为Edit,再判断是否为Read Only类型
      

  2.   

    不光是不为readonly的编辑框(CEdit, CRichEditCtrl),还有非droplist风格的组合框(CComboBox, CComboBoxEx)等都可能输入文字,for ref:CWnd *pCtrl = CWnd::GetFocus();if(pCtrl->IsKindOf(RUNTIME_CLASS(CEdit)) || pCtrl->IsKindOf(RUNTIME_CLASS(CRichEditCtrl)))
    {
    BOOL bInput = !( pCtrl->GetStyle() & ES_READONLY );
    }
    else if(pCtrl->IsKindOf(RUNTIME_CLASS(CComboBox))
    {
    BOOL bInput = !( pCtrl->GetStyle() & CBS_DROPDOWNLIST );
    }