| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:判断鼠标指向自带滚动条
取消只看楼主 加入收藏
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
判断鼠标指向自带滚动条
MFC中CScorllView自带了滚动条。那怎么判断鼠标指向了该滚动条呢?我想让鼠标在滚动条上时改变光标。
搜索更多相关主题的帖子: 鼠标 
2013-02-18 11:08
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
收藏
得分:0 
没有其他更简单点的方法吗?有哪个大虾指点指点吗?
2013-02-18 15:43
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
收藏
得分:0 
当鼠标移动到滚动条上,滚动条颜色变为浅蓝色;点击移动的时候,滚动条变为深蓝色;这就证明实际上滚动条的状态是内部已有的,我就想是否有直接判断滚动条颜色是否为浅蓝色的方法。另外对于我来说,重绘滚动条还是有难度的……
2013-02-18 17:47
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
收藏
得分:0 
问题已经解决了,不需要重绘滚动条。
我的程序是客户区有特别光标,要求指到滚动条要变为普通的。问的时候没说清楚。
因为滚动条属于客户区,而又不包含在GetClientRect()里所以我在OnSetCursor()里把滚动条给排除掉了。
代码如下:
BOOL CSingleWBView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
    CRect rectClient;
    GetClientRect(&rectClient);

    CPoint point;
    GetCursorPos(&point);
    ScreenToClient(&point);

    CRgn rgn;
    rgn.CreateRectRgn(rectClient.left, rectClient.top, rectClient.right, rectClient.bottom);

    if (!rgn.PtInRegion(point))
    {
        rgn.DeleteObject();
        return CScrollView::OnSetCursor(pWnd, nHitTest, message);
    }
}
结贴。
2013-02-19 10:22
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
收藏
得分:0 
代码下边多了一个},这只是一部分,所以没有结束。
2013-02-19 10:24
快速回复:判断鼠标指向自带滚动条
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015834 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved