| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:判断鼠标指向自带滚动条
只看楼主 加入收藏
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
判断鼠标指向自带滚动条
MFC中CScorllView自带了滚动条。那怎么判断鼠标指向了该滚动条呢?我想让鼠标在滚动条上时改变光标。
搜索更多相关主题的帖子: 鼠标 
2013-02-18 11:08
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:12 
没有试过,但是可以知道,滚动条也是一个窗口的。可以对滚动条进行重绘,重写下滚动条的事件就可以了。

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-02-18 12:29
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
收藏
得分:0 
没有其他更简单点的方法吗?有哪个大虾指点指点吗?
2013-02-18 15:43
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:8 
重写滚动条 重写滚动条的 鼠标消息响应函数

话说这很难吗?
2013-02-18 17:26
rzwm
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-12-28
收藏
得分:0 
当鼠标移动到滚动条上,滚动条颜色变为浅蓝色;点击移动的时候,滚动条变为深蓝色;这就证明实际上滚动条的状态是内部已有的,我就想是否有直接判断滚动条颜色是否为浅蓝色的方法。另外对于我来说,重绘滚动条还是有难度的……
2013-02-18 17:47
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:0 
华丽飘过

仰望星空...........不忘初心!
2013-02-18 17:52
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 4楼 hahayezhe
对于没有自绘过控件的人来说,这是个难事了。呵呵
楼主去搜索下自绘滚动条的代码来参考下就行了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-02-18 18:43
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.016088 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved