我知道cedit只能输入数字的办法,就是把cedit的属性的number属性选上,而ComboBox好像没这个属性。
另外,我从ComboBox派生MyComboBox类,添加WM_CHAR消息映射,也不行,单步执行的话,在里边输入东西,根本不触发WM_CHAR消息,KEYDOWN消息也不行
我的ComboBox能下拉选择内容,也能输入,但是怎么只让输入数字??请大家指教,说的详细点

解决方案 »

  1.   

    HWND hEdit = ::GetWindow(your combox object.GetSafeHwnd(),GW_CHILD);
    if(IsWindow(hEdit))
    {
    ModifyStyle(hEdit,0,ES_NUMBER,0);
    }
      

  2.   

    这些代码加在什么地方啊??OnInitDialog里吗??
    your combox object.GetSafeHwnd()里的your combox object是控件类型的变量吗?
      

  3.   

    对,我做了个实验,是可以的。放到OnInitdialog里面,
    用你的combobox control类型的变量。
      

  4.   

    谢谢
    我在 MFC 基础类 问了一个同样的问题,没人解决,你去那里复制你的答案过去,我把那个分也给你 ,再次感谢