zoukankan      html  css  js  c++  java
  • MFC使用TRACKMOUSEEVENT触发mouseHover和mouseLeave

    为对话框添加WM_MOUSEHOVER或WM_MOUSELEAVE消息并不会响应。 MFC需要特殊处理,其中一法就是使用TRACKMOUSEEVENT

    void CmfcDlgDlg::OnMouseMove(UINT nFlags, CPoint point)
    {
        // TODO: 在此添加消息处理程序代码和/或调用默认值
        //GetDlgItem(IDC_BUTTON)->SetWindowText("Move");
    
        if (!m_bTracking)
        {
            TRACKMOUSEEVENT tme;
            tme.cbSize = sizeof(TRACKMOUSEEVENT);
            tme.dwFlags = TME_LEAVE | TME_HOVER;//要触发的消息
            tme.hwndTrack = this->m_hWnd;
            tme.dwHoverTime = 10;// 若不设此参数,则无法触发mouseHover
    
            if (::_TrackMouseEvent(&tme)) //MOUSELEAVE|MOUSEHOVER消息由此函数触发
            {
                m_bTracking = true;   
            }
        }
    
        CDialogEx::OnMouseMove(nFlags, point);
    }
    
    
    void CmfcDlgDlg::OnMouseHover(UINT nFlags, CPoint point)
    {
        // TODO: 在此添加消息处理程序代码和/或调用默认值
        GetDlgItem(IDC_BUTTON)->SetWindowText("Hover");
        m_bTracking = false;
        CDialogEx::OnMouseHover(nFlags, point);
    }
    
    
    void CmfcDlgDlg::OnMouseLeave()
    {
        // TODO: 在此添加消息处理程序代码和/或调用默认值
        GetDlgItem(IDC_BUTTON)->SetWindowText("Leave");
        m_bTracking = false;
        CDialogEx::OnMouseLeave();
    }
  • 相关阅读:
    算符优先分析
    自下而上语法分析
    递归下降语法分析
    LL(1)文法的判断,递归下降分析程序
    消除左递归
    4.K均值算法--应用
    2.机器学习相关数学基础
    K均值算法
    机器学习概述
    算符优先分析
  • 原文地址:https://www.cnblogs.com/2018shawn/p/11548208.html
Copyright © 2011-2022 走看看