rt,thx!

解决方案 »

  1.   

    LZ想要的是代码实现的吧.
    非代码实现的就是楼上所说的.但是颜色会变灰色,比较的不爽.代码实现的就要重载消息处理的方法了.控件样子不会变.
    选择类视图,然后点取dlg类,右键添加vitual function. 然后在里面找到
    PreTranslateMessage() 然后生成并书写 下面列代码就OK了 .BOOL CMy3321Dlg::PreTranslateMessage(MSG* pMsg) 
    {
     CWnd * pedit=   GetDlgItem(IDC_EDIT1); //获得编辑框控件的指针   
      if(GetFocus()==pedit)                 //如果编辑框获得焦点的话 就进行处理
      {
      pedit->SetWindowText("haha");//方法并 不影响正常的内部赋值
      this->SetFocus();            //如果讨厌编辑框那个光标的话
                                            //就让对话框主体获得.这样下面的代码也就不必 了,如果没这句,下面代码还是要的.//如果消息是按键的话,直接返回.
    if   ((pMsg->message==WM_KEYDOWN||pMsg->message==WM_KEYUP))             
    {         
     return   true;
    }
      }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  2.   

    GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
    CWnd::EnableWindow
      

  3.   


    CWnd * pWnd;pWnd = GetDlgItem(IDC_EDIT1);
    pWnd->EnableWindow(FALSE);
      

  4.   

    恩..
    GetDlgItem(IDC_EDIT1)->EnableWindow(false);
    也可以..颜色是背景色.
      

  5.   

    用EnableWindow(false)不行,太丑了,变灰色。
    emptyness(问题事小,结帐事大~)  的方法看上去是正解,但是我右键点了之后只有添加->添加函数,然后出现一个对话框,里面并不能找到
    PreTranslateMessage()来添加为什么?咋办?
      

  6.   

    是添加虚函数不是成员函数,  
    ADD  Virtual Function ...not member function.
    然后在左边的列表里就可以找到的.然后中间的列表就会显示是否加上了.双击中间列表已经加上的函数名 就会自动跳转到代码处 就可以开始填写了..
      

  7.   

    哦,我找到了,是你的口误吧,你说
    选择类视图,然后点取dlg类,右键添加vitual function. 然后在里面找到
    PreTranslateMessage()
    其实是在属性里面的重写消息响应函数那里找到这个函数的。我这么做了,可是居然无效!跟没有加之前完全一样,怎么办呢?
      

  8.   

    上QQ..
    32242132
    住明 CSDN..
    不信了...在这里说的太累了.,