怎么给MFC弹出右键选择框的效果,Cmenu

时间:2021-05-02 15:28:53
    DWORD position = GetMessagePos();
    CPoint cPoint(GET_X_LPARAM(position), GET_Y_LPARAM(position));


    CMenu cMenu;
    cMenu.LoadMenu(IDR_MENU1);
    CMenu *first_menu = cMenu.GetSubMenu(0);
    first_menu->TrackPopupMenu(TPM_RIGHTBUTTON|TPM_LEFTALIGN,cPoint.x, cPoint.y, this);


    cMenu.DestroyMenu();

上面的代码,第一行表示获取MFC消息循环的事件的鼠标的位置,然后下一行是转换为CPoint类型,然后最后的TrackPopupMenu表示弹出那个Cmenu,

然后如果要对Cmenu弹出的界面中加事件,需要在MFC的那个map表中添加。