能具体点吗?怎么定义函数?呵呵,没那么简单吧?别忘记我这个菜单是用win32函数加上去的,不是用的MFC

解决方案 »

  1.   

    提,大家帮个忙啦,呵呵,这个问题该如何解决啊?
    我建立PopupMenu的方式如下:AppendMenu(hMenu,MF_STRING,2000,"test");
    TrackPopupMenu(hMenu,TPM_LEFTBUTTON,poinx.x, point.y, 0, hWnd,NULL);怎么让test项不是灰的呢?
      

  2.   

    EnableMenuItem(hMenu,2000,MF_BYCOMMAND |MF_ENABLED);
      

  3.   

    hMenu = ::CreatePopupMenu();
    AppendMenu(hMenu,MF_STRING,2000,"test");
    TrackPopupMenu(hMenu,TPM_LEFTBUTTON,300, 400, 0, this->m_hWnd,NULL);
      

  4.   

    我在弹出的菜单上用了自己的菜单类CMyMenu,但这时出现错误:
    Warning: unknown WM_MEASUREITEM for menu item 0x07D0.0x7D0是我给菜单项的ID这个WM_MEASUREITEM消息我该如何发送给CMyMenu,让它自动调用OnMeasur...函数呢?
      

  5.   

    我用spy++ 看到了WM_MEASUREITEM的消息,但其中的nID为0,而不是我要的2000,不知哪位大侠能助我一臂之力啊?
      

  6.   

    顺便加一句,WM_MEASUREITEM中的wParam参数就是一个Struct的指针,除非在你的钩子dll中处理,否则在别的应用程序里是不可预知的地址
      

  7.   

    你在 String Table 中为 变灰 的 POPMENU ID 加个键值再尝试一下看看,可能就不灰了
      

  8.   

    现在按钮已经不灰了!
    我在DLL中加了CMyMenu类,然后在右键弹起时让它弹出CMyMenu菜单,弹出了,但没有画对,因为它说: unknow WM_MEASUREITEM for id 2000 之类的话...是全局钩子