MFC C++初学,对话框工程,怎么在pic CONTROL里边设置ONMOUSE左键DOWN,ONMOUSEMOVE事件?谢谢
答案:1 悬赏:10 手机版
解决时间 2021-03-31 13:29
- 提问者网友:我没有何以琛的痴心不悔
- 2021-03-31 02:06
MFC C++初学,对话框工程,怎么在pic CONTROL里边设置ONMOUSE左键DOWN,ONMOUSEMOVE事件?谢谢
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-03-31 03:03
如果原有控件不带有你所描述的功能,那么就要重写控件。
添加ONMOUSEMOVE事件
CPoint pos;
GetCursorPos(&pos); //获取当前鼠标位置
CRect rc;
GetDlgItem(IDC_LOCATION)->GetWindowRect(&rc); //获取ID为IDC_LOCATION的Static Text的范围
if (rc.PtInRect(pos)) //如果鼠标在这个范围之内
{
if(!GetDlgItem(IDC_PATH_INFO)->IsWindowVisible())
{
//GetDlgItem(IDC_PATH_INFO)->SetWindowTextW(m_cstrDirectory);
//int x = (int)point.x;
////int y = (int)point.y;
//int iCount = m_cstrDirectory.GetLength();
//int iIndex = iCount/10;
//GetDlgItem(IDC_PATH_INFO)->MoveWindow(x,35,220,5*iIndex+15,false);
//GetDlgItem(IDC_PATH_INFO)->ShowWindow(TRUE);
//m_tooltip.AddTool(GetDlgItem(IDC_LOCATION), m_cstrDirectory);
//m_pContentTip.AddTool(GetDlgItem(IDC_LOCATION),m_cstrDirectory);
}
}
else
{
GetDlgItem(IDC_PATH_INFO)->ShowWindow(FALSE);
}上面的代码是一个例子
追问怎么都注释掉了追答我自己不要的功能就注释掉呗, 被你看看而已。
添加ONMOUSEMOVE事件
CPoint pos;
GetCursorPos(&pos); //获取当前鼠标位置
CRect rc;
GetDlgItem(IDC_LOCATION)->GetWindowRect(&rc); //获取ID为IDC_LOCATION的Static Text的范围
if (rc.PtInRect(pos)) //如果鼠标在这个范围之内
{
if(!GetDlgItem(IDC_PATH_INFO)->IsWindowVisible())
{
//GetDlgItem(IDC_PATH_INFO)->SetWindowTextW(m_cstrDirectory);
//int x = (int)point.x;
////int y = (int)point.y;
//int iCount = m_cstrDirectory.GetLength();
//int iIndex = iCount/10;
//GetDlgItem(IDC_PATH_INFO)->MoveWindow(x,35,220,5*iIndex+15,false);
//GetDlgItem(IDC_PATH_INFO)->ShowWindow(TRUE);
//m_tooltip.AddTool(GetDlgItem(IDC_LOCATION), m_cstrDirectory);
//m_pContentTip.AddTool(GetDlgItem(IDC_LOCATION),m_cstrDirectory);
}
}
else
{
GetDlgItem(IDC_PATH_INFO)->ShowWindow(FALSE);
}上面的代码是一个例子
追问怎么都注释掉了追答我自己不要的功能就注释掉呗, 被你看看而已。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯