C++按钮创建鼠标右键菜单后,选择右键菜单项后如何将选中的文字更新为按钮的文字?

请教下大家,问题如标题:
1.在复选按钮上点右键显示右键菜单已完成;
2.选中右键菜单文字,让其显示在复选按钮上,就是我的问题
将按钮上的“Check2”通过右键菜单显示为“文字1”
图片说明
谢谢!

到菜单中点击文字2右键,选择添加事件处理程序,这个添加的函数会在你鼠标左键单击文字二后调用
添加事件处理程序
图片说明
可以修改函数名,类列表里选择工程名+Dlg的那个,即你要实现这个函数的类
图片说明
然后在函数里面添加修个语句即可,我这里用的是最简单的办法,看看你自己有什么具体的要求没有,没有就这样也行
图片说明

setwindowtext(你的checkbox的句柄, 需要设置的文字)

GetDlgItem(IDC_YuanSi)->GetWindowRect(&rect); //控件ID
if (rect.PtInRect(point)) //右击点在指定控件上
{
CMenu menu;//弹出菜单
VERIFY(menu.LoadMenu(IDR_MENU1));//

        CMenu* pPopup = menu.GetSubMenu(0);
        ASSERT(pPopup != NULL);
        CWnd* pWndPopupOwner = this;

        while (pWndPopupOwner->GetStyle() & WS_CHILD)
            pWndPopupOwner = pWndPopupOwner->GetParent();


        pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, point.x, point.y, this);  
    }

你用这个试试看,应该可以给你点思路

 if (rect.PtInRect(point)) //右击点在指定控件上
    {
        CMenu menu;//弹出菜单
        VERIFY(menu.LoadMenu(IDR_MENU1));//
        CMenu* pPopup = menu.GetSubMenu(0);
        ASSERT(pPopup != NULL);
        CWnd* pWndPopupOwner = this;
        CString str;//add
        GetDlgItem(IDC_Check/*这个地方填你需要获取名字的IDC*/)->GetWindowTextW(str);//add
        pPopup->ModifyMenuW(0,MF_BYPOSITION, NULL, str);//add

        while (pWndPopupOwner->GetStyle() & WS_CHILD)
            pWndPopupOwner = pWndPopupOwner->GetParent();


        pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, point.x, point.y, this);  

    }