1 作了一个菜单用于“隐藏/显示我的导航条”,怎么可以象appwizard生成的程序中设置工具条的菜单那样,有一个check的标记2 我CEdit在create时ES_READONLY,它的颜色就灰了,我想让它只读,但是颜色不变。唉,mfc真难搞。

解决方案 »

  1.   

    第一个问题:响应OnUpDateCommandUI,然后 pCmdUI->SetCheck(TRUE);
    第二个问题:重载CEdit就行了
      

  2.   

    英雄,麻烦您说得详细一点——好吗第一个问题 :在哪里响应
    第二个问题:  要写一个新类继承自CEdit?需要那么麻烦?
      

  3.   

    1.你ClassWizard里对应的菜单项,添加UPDATE_COMMAND_UI
    2.重载也不是很麻烦的,只要你有点耐心就行
      

  4.   

    第一个问题解决了,另,vc2003是不是没有classwizard
    2 我并不怕麻烦,我只是奇怪,解决这样一个小问题,也要增加一个新类吗
      

  5.   

    举个例子:在menu中添加了相应菜单message1,在view中同时添加OnMessage1和OnUpdateMessage1,在view构造器中初始化为false,
    view::message1()
    {
    m_message=true;
    }
    view::OnUpdateMessage1()
    {
    pcmdui->setcheck(m_message);
    }
    就好了,同样的道理,添加多个消息处理函数
    第二个,要重载,也不难,;
      

  6.   

    重载后,改写OnCtlColor()函数,在显示编辑框时,会调用这个函数来设置画刷的。if(pWnd==GetDlgItem(IDC_EDIT))
    {
    pDC->SetBkColor(RGB(255,255,255));//设置edit的颜色为白色。
    }
      

  7.   

    我的edit放在controlbar上,controlbar是mainframe手工创建的,怎样处理controlbar的WM_CTLCOLOR消息?
      

  8.   

    我的edit是多行的,OnCtlColor()中改写了背景色,但是只有一行颜色改变了,没有文字的地方颜色依然是灰的。