sdk自定义弹出菜单问题 自定义弹出菜单是不是插入菜单资源得到?第一项应该设置pop,显示时不出现第一项对吗?怎么显示时,菜单项少的话,鼠标点击时的点与菜单项第一项隔很远,中间空出很多。是不是有默认的项数啊?怎么设置啊!?谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.不用设置为POP,第一项不会显示出来2.菜单大小是和你在资源设计器里创建的大小一致的,中间空很多是菜单资源的问题 这个给参考一下void CMyEdit::OnRclickMyEdit(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here CMenu menu; LPPOINT point=new tagPOINT; ::GetCursorPos(point);//得到鼠标位置 VERIFY( menu.LoadMenu(IDR_MENU2)); CMenu* popup = menu.GetSubMenu(0); ASSERT(popup != NULL ); SetEnableMenu(popup); popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point->x, point->y, this ); } 注意TrackPopupMenu使用屏幕坐标。 可以用菜单资源,第1项不会显示。也可以用代码CreatePopupMenu、AppendMenu来创建菜单。如果你利用消息中的鼠标位置,需要用ClientToScreen函数将Point转为屏幕坐标。 可以参看潘爱民翻译的<vc++技术内幕>第四版,有具体示例. 接收COPYDATA消息后显示是乱码,估计是Unicode编码的问题,该如何处理啊? 怎么用vc6.0绘制等位线,急 请问一个关于visual studio.net的问题 请问下点击任务栏上的“显示桌面”时,我怎么才能捕捉到这个事件? 哪位大侠会做这个:关于系统日志……在线…… listctrl可以做出这样的表格吗? 不懂的不要进入 绝对是高手才能回答的问题 界面开发的探讨 既然回调函数一般都写成全局函数,那我应该这样在全局函数里面往一个对话框类的编辑框里面写内容呢? 关于DWGdirect的问题 CFileDialog文件类型出现乱码???? ShellExecute()参数问题
2.菜单大小是和你在资源设计器里创建的大小一致的,中间空很多是菜单资源的问题
void CMyEdit::OnRclickMyEdit(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMenu menu;
LPPOINT point=new tagPOINT;
::GetCursorPos(point);//得到鼠标位置 VERIFY( menu.LoadMenu(IDR_MENU2));
CMenu* popup = menu.GetSubMenu(0);
ASSERT(popup != NULL );
SetEnableMenu(popup);
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point->x, point->y, this );
}
如果你利用消息中的鼠标位置,需要用ClientToScreen函数将Point转为屏幕坐标。