case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭”
{ LPPOINT lpoint=new tagPOINT;
::GetCursorPos(lpoint);//得到鼠标位置
CMenu menu;
menu.CreatePopupMenu();//声明一个弹出式菜单
//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗
//隐藏),将程序结束。
menu.AppendMenu(MF_STRING,WM_DESTROY,"关闭"); 
//确定弹出式菜单的位置
menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this);
//资源回收
HMENU hmenu=menu.Detach();
menu.DestroyMenu();
delete lpoint;
*/

解决方案 »

  1.   

    看你的menu.AppendMenu(MF_STRING,WM_DESTROY,"关闭"); 你是想在单击菜单时发送WM_DESTROY消息可是AppendMenu的第二个参数应该是,菜单的ID你是创建了一个菜单ID为WM_DESTROY的菜单,但是你并没有处理此菜单的消息处理函数所以它是灰色的,你应该再你的程序框架中,添加你的菜单对应的处理函数,在处理函数里用SendMessage()发送WM_DESTROY消息
      

  2.   

    不会啊,我也这样用的啊
    再加上 MF_ENABLED, 试试
      

  3.   

    点击菜单发送的是WM_COMMAND消息,菜单的ID作为参数并不是发送的WM_DESTROY阿
    关注ing