请教各位
   我在mainframe.cpp的oncreate()函数中加如下代码:(实现禁用顶层菜单,菜单是我自画的)
...
CWnd   *pWnd   =   AfxGetMainWnd();     
 pWnd->GetMenu()->EnableMenuItem(0,MF_BYPOSITION|MF_DISABLED|MF_GRAYED);//灰掉第一项   
  pWnd->DrawMenuBar();
....
禁用该菜单是没错,但是这个菜单颜色为何不变
而且在mainframe()构造函数也有m_bAutoMenuEnable=FALSE;
请各位指点迷津

解决方案 »

  1.   

    to chehw(chehw):
       在CMycoolMenu类中的DrawItem()函数中对顶层菜单进行判断的话,
    switch(nMenuID)
    {
    case -2:// -2:顶层菜单条   
    if(uState&ODS_SELECTED)// {
    DrawTop(pDC,rcItem,TRUE);
    }
    else
    {
    DrawTop(pDC,rcItem,FALSE);
    }
    DrawText(pDC,rcItem,strText);
    ......
    如何在if判断语句中再加个判断,即判断顶层菜单不仅被选中而且也要判断它没有被设为DISABLED,这样的语句该怎么写?
    if((uState&ODS_SELECTED)&&(!uStat&ODS_DISABLED))好象不对啊??
      

  2.   

    问题解决了,谢谢chehw(chehw),给分!!