请教:关于QQ菜单 请教一个基本天天都看到的界面是怎么实现的?如下:QQ菜单 右键联系人->移动联系人至->组右键联系人,建立弹出式菜单,移动联系人至,需要根据QQ组的个数和名称动态创建组的菜单当组的菜单菜单创建完成后,怎么产生消息呢?譬如我要将该联系人从当前组移动至组A,鼠标单击即移动成功。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一步:在程序的适当位置(右键单击联系人响应函数里)动态生成菜单:String groupStr[] = GetDocument()->m_groupStr;//动态获取组的信息(一般以成员变量的方式保存到CDocument中或其派生类中)CMenu menu; //创建弹出菜单menu.CreatePopupMenu(); for(int i=0; i<groupID.length; i++){ //将groupStr[i]中保存的组的字符串添加进Popup菜单 GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,groupStr[i]); menu.AppendMenu(MF_STRING,IDM_TEST(IDM_USER+i),groupStr[i]); menu.Detach(); }第二步:声明Popup菜单响应函数afx_msg void OnMoveToGroupID(int groupID); 第三步:将消息响应函数与菜单项关联起来ON_COMMAND(groupID[i].id,OnMoveToGroupID)第四步:在OnMoveToGroupID(int groupID)判断鼠标单击的位置以此来判断选中了那个菜单项,然后switch/case判断就可以了。最后一步是关键,大致流程就是这样子。 能不能通过 PreTranslateMessage(MSG* pMsg) 消息来实现呢? url转换为中文 C++调用EXCLE 的 Open方法时如何加参数 请问怎么在vc++6.0中采用CMenuEx类,急! [下载]陈建春的矢量图形系统开发与编程电子书,散分 新人请教,基础vc问题 如何用VC进行编程调试时查看如vector /map之类的容器的元素值情况? 请问一个工程建立好后,可以修改工程的名字吗? vc中加入datagrid控件的窗体,为什么在程序执行时窗体不能显示 怎样实现运行时主窗口最大化? 请看进来!谢谢。。 跪求VC / MFC高手指导 windows的普通剪切板机制
在程序的适当位置(右键单击联系人响应函数里)动态生成菜单:
String groupStr[] = GetDocument()->m_groupStr;//动态获取组的信息(一般以成员变量的方式保存到CDocument中或其派生类中)
CMenu menu; //创建弹出菜单
menu.CreatePopupMenu();
for(int i=0; i<groupID.length; i++)
{
//将groupStr[i]中保存的组的字符串添加进Popup菜单
GetMenu()->AppendMenu(MF_POPUP,(UINT)menu.m_hMenu,groupStr[i]);
menu.AppendMenu(MF_STRING,IDM_TEST(IDM_USER+i),groupStr[i]);
menu.Detach();
}
第二步:声明Popup菜单响应函数
afx_msg void OnMoveToGroupID(int groupID);
第三步:将消息响应函数与菜单项关联起来
ON_COMMAND(groupID[i].id,OnMoveToGroupID)
第四步:在OnMoveToGroupID(int groupID)判断鼠标单击的位置以此来判断选中了那个菜单项,然后switch/case判断就可以了。最后一步是关键,大致流程就是这样子。