gpw520 2014-08-25 02:42 采纳率: 0%
浏览 2788

关于鼠标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;

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

  • 写回答

3条回答 默认 最新

  • gpw520 2014-08-25 02:46
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?