vc++ mousemove-关于鼠标mousemove移动时的菜单显示与隐藏问题

问题描述

关于鼠标mousemove移动时的菜单显示与隐藏问题

小弟,最近在修改个框架。下面贴代码
VOID CTableViewFrame::OnMouseMove(UINT nFlags, CPoint MousePoint)
{
/*这是用来显示菜单的代码*/

if (m_bRMouseDown==false)

{

//变量定义
WORD wChairID=INVALID_CHAIR;
WORD wTableID=SwitchTableID(MousePoint);

//获取位置,获取桌子椅子的位置
if ((wTableID!=INVALID_TABLE)&&(wTableID==m_wDownTableID))
{
    //获取桌子
    ASSERT(GetTableViewItem(wTableID)!=NULL);
    ITableView * pITableView=GetTableViewItem(wTableID);

    //计算位置
    CPoint TablePoint;
    TablePoint.x=(MousePoint.x-m_nXExcursion)%m_TableResource.m_SizeTable.cx;
    TablePoint.y=(MousePoint.y+m_nScrollPos)%m_TableResource.m_SizeTable.cy;

    //椅子测试
    wChairID=SwitchChairID(TablePoint);
}

//如果椅子和桌子都是有效的就会显示菜单

if ((wTableID==m_wDownTableID)&&(wChairID==m_wDownChairID))
{
//设置变量
m_wDownTableID=INVALID_TABLE;
m_wDownChairID=INVALID_CHAIR;

// wTableID=INVALID_TABLE;
// wTableID=INVALID_CHAIR;

    //事件通知/*调用显示菜单的函数*/
    m_pITableViewFrameSink->OnMouseMoveHitTable(wTableID,wChairID);
    RedrawWindow();
}
else/*本来设想在else里面弄个重绘什么的,都没有成功*/
{
    //设置变量
    m_wDownTableID=INVALID_TABLE;
    m_wDownChairID=INVALID_CHAIR;   

}

}

return;

}

下面是OnMouseMoveHitTable(wTableID,wChairID)的代码
OID CServerViewItem::OnMouseMoveHitTable(WORD wTableID, WORD wChairID)
{
//点击位置
if ((wTableID!=INVALID_TABLE)&&(wChairID!=INVALID_CHAIR)&&(wChairID!=INDEX_ENTER_CHAIR))
{
//获取用户
IClientUserItem * pIClientUserItem=m_TableViewFrame.GetClientUserItem(wTableID,wChairID);

    //用户菜单
    if (pIClientUserItem!=NULL)
    {
        /*这用来显示菜单,TrackUserItemMenu2里面用了
                     CSkinMenu UserInfoMenu;
                      UserInfoMenu.TrackPopupMenu(this);来显示菜单*/
                  TrackUserItemMenu2(pIClientUserItem);
    }

    return;
}

return;

}
这段代码当鼠标移动有用户存在的桌子和椅子上时,就会显示用户的个人信息菜单,但是移到空白区域,菜单还会显示,有什么办法,让移动到空白区域时自动消失呢?搞了几天,没有头绪。求教!

解决方案

各位大神,帮帮忙,网上的资料找不到。又没有人可以咨询。

解决方案二:

各位大神也可以说说看自己达到这个功能所使用的方法

解决方案三:

大神么,给点力。各位大神,帮帮忙,网上的资料找不到。又没有人可以咨询!

时间: 2025-01-21 16:54:21

vc++ mousemove-关于鼠标mousemove移动时的菜单显示与隐藏问题的相关文章

jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码_jquery

复制代码 代码如下: <input value="请输入用户名" type="text"> <input value="请输入密码" type="text"> <input value="提交" type="submit"> <script> $(function(){ //输入框中文字颜色控制 $("input:not(:las

当鼠标移出灰色区域时候,菜单项怎么隐藏起来_javascript技巧

鼠标移上来 菜单一 菜单二

用jQuery实现鼠标滑入输入框显示出隐藏的div,且可以对显示出的div操作,滑出输入框和显示的div后隐藏

问题描述 如图的效果,注 显示的隐藏div不占用页面布局,可以详细的吗? 解决方案 很简单啊,代码没有,只提供思路监听输入框的鼠标悬浮和离开事件,显示和隐藏div就行了div上也加入相同的鼠标悬浮和离开事件,样式什么的自己处理吧,都是基础

VC/MFC 当鼠标移到控件上时显示提示信息

VC/MFC 当鼠标移到控件上时显示提示信息 ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法.  一般用法步骤:   添加CToolTipCtrl成员变量 m_tt.   在父窗口中调用EnableToolTips(TRUE);   在窗口的OnCreate(或者其他适当的位置)中向ToolTip中添加需要显示Tip的子窗口,并同时指定相应的显示字串CToolTipCtrl::AddToo

vs2012-用VC编程时,鼠标放在菜单上时,怎样直接显示内容

问题描述 用VC编程时,鼠标放在菜单上时,怎样直接显示内容 怎样设置让它直接显示内容呢?每次把鼠标放在菜单上,都是先显示两个向下的括号,等一会才显示菜单内容,真烦. 解决方案 是直接显示菜单 内容呀,不要这样子显示 解决方案二: 是直接显示菜单 内容呀,不要这样子显示 解决方案三: 你可以点一下试试.........

鼠标移入移出时颜色变化代码

[实例名称] 鼠标移入移出时颜色变化 [实例描述] 当用户将鼠标移动到按钮或链接上时.为了突出显示用户的选择,会改变链接和按钮的颜色.默认链接的颜色是自动变化的,本例学习如何手动为按钮设置这种效果. [实例代码]        <html xmlns="http://www.w3.org/1999/xhtml" >        <head>        <title>标题页</title>        </head>  

用css3实现当鼠标移进去时当前亮其他变灰效果

 用css3实现当鼠标移进去时当前亮其他变灰效果 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;

鼠标经过tr时,改变tr当前背景颜色

 本篇文章主要介绍了鼠标经过tr时,改变tr当前背景颜色的示例代码,需要的朋友可以过来参考下,希望对大家有所帮助 示例如下: 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>鼠标经过给tr换颜色</title>     </head> <body>

我在vc++上位机实现usb读写时出现了问题

问题描述 我在vc++上位机实现usb读写时出现了问题 首先我原本已经将devioctl.h添加到工程,但是在调试中仍出现fatal error C1083: Cannot open include file: 'devioctl.h': No such file or directory后来我把提示出错的#include 注释掉,写了#include ""devioctl.h"",但是在执行link时出错,显示testDlg.obj : error LNK2001