EDIT 控件不使用Disable属性,保持白色,但不能由用户输入,怎样做? 

解决方案 »

  1.   

    1。EDIT控件使用Disable属性;
    2。接管WM_CTLCOLORSTATIC消息(Disable的EDIT控件不会发送WM_CTLCOLOREDIT消息,而是WM_CTLCOLORSTATIC);
    3。用SetBkColor设置颜色为GetSysColor(COLOR_WINDOW)。
      

  2.   

    错了,上面的Disable应该是ReadOnly。即:
    1。EDIT控件使用ES_READONLY风格;
    2。接管WM_CTLCOLORSTATIC消息(ReadOnly的EDIT控件不会发送WM_CTLCOLOREDIT消息,而是WM_CTLCOLORSTATIC);
      

  3.   

    最好的办法你重载他的WW_KEYUP和WW_KEYDOWN事件不就结了,然后把它的父处理函数蔽了不就行了。
      

  4.   

    WM_CTLCOLORSTATIC消息就是发给对话框的,而不是EDIT控件本身。
      

  5.   

    子类化,将所有与Key有关的Message在消息泵中略掉
      

  6.   

    把它设为Disable或ReadOnly,然后给他赋值,最后UpdateData(FALSE ),就能显示数据了。
      

  7.   

    获得焦点时,是其失去焦点KillFocus
      

  8.   

    用RichEditCtrl
    ReadOnly时候就是白色的。
      

  9.   

    大白沙说对,最快地方法就是继承,然后屏蔽掉左右键等消息(作揖TAB等键)
      

  10.   

    onctrlcolor
    return 一个白色的brush
    我就是这么做的