关于快捷菜单的问题!(菜问题,大放血) 怎样能限制快捷菜单的显示条件(我想在LIST CONTROL中选定一项后才允许右键点出菜单,但现在我加了一个快捷菜单后,在标题栏上右击都能点出快捷菜单来)。快救救我这可怜的人吧!!!!!!!!!!!!欢迎有原码! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void CAdoDataListImpl::HandleOnContextMenu(CWnd* pWnd, CPoint ptMousePos){ // if Shift-F10/APPS if (ptMousePos.x == -1 && ptMousePos.y == -1) ptMousePos = (CPoint) GetMessagePos(); GetCtrlPointer()->ScreenToClient(&ptMousePos);//CListCtrl* GetCtrlPointer() int iItem=GetCtrlPointer()->HitTest(ptMousePos); if(iItem!=-1) CGlobal::g_listSelectItem(*GetCtrlPointer(),iItem ,FALSE);//选定 else ;//在这里return的话就可以不弹出来了,但是建议不要选定一项后才允许右键点出菜单…… GetCtrlPointer()->ClientToScreen(&ptMousePos); CDataImpl::HandleOnContextMenu(pWnd, ptMousePos);//弹出菜单}void CAdoDataList::OnContextMenu(CWnd* pWnd, CPoint point) {m_pDataImpl->HandleOnContextMenu(pWnd, point);}BEGIN_MESSAGE_MAP(CAdoDataList, CListCtrl) //{{AFX_MSG_MAP(CAdoDataList) ON_WM_CONTEXTMENU()…… 怎样能象windows应用程序界面那样,只有在一个控件内点右键,才出来相应的快捷菜单。(我觉得楼上的建议很好,很感谢)但麻烦各位高手了。主要问题是我从哪个什么画廊(翻译过来的,不记得了)载入的POPUP MENU我在按钮和标题栏上右击都会出快捷菜单,怎样限制?我在MSDN中找不到取控件大小的函数。 这样可以:你定义一个变量:BOOL contextMenu = FALSE;然后在做个判断if(contextMenu ==TRUE){ //显示快捷菜单 }这样不就行了? 好象没有在控件里加的。只有在对话框里加的。这选项是不是在ctrl+w中? 你检查一下point下面是什么窗口ChildWIndowFromPOint 你可以重载这个控件,然后再处理OnContextMenu即可 请教:我的socket连接成功,为啥在发送数据或者接收数据的时候会出现WSAENOTCONN的错误呢? 链表比较 有关虚基类和虚函数问题 请问VC里面有没有控件是做超联接的? SDI中切分视窗的问题 我想让用户一进我的软件就只能一秒钟点击一次鼠标,也就是如何来控制用户的单击频率? 如何直接利用类型库生成COM dll程序? 有关web上的时间格式的问题? 一些基本问题,请帮我解答 如何生成debug,和release版本的程序 如何获得当前系统的正常状态和后台工作状态以及忙状态的鼠标的句柄? 请问我的程序在编译的时候,有一个错误是class type redefinition
{
// if Shift-F10/APPS
if (ptMousePos.x == -1 && ptMousePos.y == -1)
ptMousePos = (CPoint) GetMessagePos();
GetCtrlPointer()->ScreenToClient(&ptMousePos);//CListCtrl* GetCtrlPointer() int iItem=GetCtrlPointer()->HitTest(ptMousePos);
if(iItem!=-1)
CGlobal::g_listSelectItem(*GetCtrlPointer(),iItem ,FALSE);//选定
else
;//在这里return的话就可以不弹出来了,但是建议不要选定一项后才允许右键点出菜单……
GetCtrlPointer()->ClientToScreen(&ptMousePos); CDataImpl::HandleOnContextMenu(pWnd, ptMousePos);//弹出菜单
}
void CAdoDataList::OnContextMenu(CWnd* pWnd, CPoint point) {m_pDataImpl->HandleOnContextMenu(pWnd, point);}
BEGIN_MESSAGE_MAP(CAdoDataList, CListCtrl)
//{{AFX_MSG_MAP(CAdoDataList)
ON_WM_CONTEXTMENU()
……
主要问题是我从哪个什么画廊(翻译过来的,不记得了)载入的POPUP MENU
我在按钮和标题栏上右击都会出快捷菜单,怎样限制?我在MSDN中找不到取控件大小的函数。
你定义一个变量:BOOL contextMenu = FALSE;
然后在做个判断
if(contextMenu ==TRUE)
{
//显示快捷菜单
}
这样不就行了?
只有在对话框里加的。
这选项是不是在ctrl+w中?
ChildWIndowFromPOint