社区
界面
帖子详情
怎样显示第二个鼠标光标?(400分求一解)
cnss
2005-04-05 02:48:13
我想在程序的CView里显示另一个鼠标光标,它的位置是由我的程序控制的.
查了办天MSDN,好象没有这样的API.
我想了一个办法是用GDI/双缓冲,当CView重绘或光标改变位置时手绘在缓冲区内,不过这样性能恐怕不会太好.
还有什么办法吗?最好能用API解决,400分送上!
...全文
331
27
打赏
收藏
怎样显示第二个鼠标光标?(400分求一解)
我想在程序的CView里显示另一个鼠标光标,它的位置是由我的程序控制的. 查了办天MSDN,好象没有这样的API. 我想了一个办法是用GDI/双缓冲,当CView重绘或光标改变位置时手绘在缓冲区内,不过这样性能恐怕不会太好. 还有什么办法吗?最好能用API解决,400分送上!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lizifong
2005-04-19
打赏
举报
回复
void CTestDlg::OnBnClickedBtnimitate()
{
POINT lpPoint;
CRect rc;
CWnd* pParent = AfxGetApp()->GetMainWnd();
pParent->GetWindowRect(&rc);
lpPoint.x = rc.right-250;
lpPoint.y = rc.top +5;
SetCursorPos(lpPoint.x, lpPoint.y);
mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
}
mouse_event //API of system
lizifong
2005-04-19
打赏
举报
回复
鼠标好像只能改变形状,它当前的位置只受用户控制.
一个程序中最多允许有5个DC在工作,就像有一个编辑框在获得焦点的情况下,总有个插入符在闪动;此时你移动鼠标,这个插入符的闪动不会受影响.
只要有数据,画一个鼠标应该不成问题,自定义一个绘图函数用来绘制光标,设置一个定时器间断地调用它,注意刷新区域就行了.
mousefj
2005-04-19
打赏
举报
回复
模拟鼠标吧,自己制作一个贯标文件Load进来,然后在视图中显示
xhzxlqt
2005-04-19
打赏
举报
回复
你可以使用鼠标钩子,程序启动时挂上钩子,退出时xie掉钩子.当有WM_MOUSEMOVE时,检查GetActiveWindow是否是本程序窗口,是则钩子在CView里画另一个"鼠标"(用位图保存原内容,画鼠标,下次画前先恢复曾经保存的内容)
wolfman
2005-04-14
打赏
举报
回复
既然 “它的位置是由我的程序控制的.”,那么就不是 “鼠标光标”,只是一张小图而已;
至于你是否把它画成一个类似于“鼠标光标”的图,那是你的事,也不能把它和光标放在一起谈。
你的情况,一般的做法是,在view的OnDraw函数的最后,根据你确定的位置,画出你的图(用什么方法都可以,用BitBlt是最快的),再在你需要更新的地方调用view 的 InvalidateRect(rcUpdate),rcUpdate就和你的“光标”相关!
至于是否闪烁,只有你做出来之后才知道!
liuduofu
2005-04-14
打赏
举报
回复
关注中
truewill
2005-04-12
打赏
举报
回复
windows好像不支持两个鼠标吧……
surstar
2005-04-12
打赏
举报
回复
不知道,顶
wangk
2005-04-12
打赏
举报
回复
在CView中DirectDraw好像不大适合吧?
lonenomad
2005-04-12
打赏
举报
回复
我也在问这个问题,不过我是的在同一个视图内,不同的区域,设了不同的光标后,闪动的问题。
我用::SetCursor(m_hCursor);设的光标。
fanqing
2005-04-12
打赏
举报
回复
暂时没发现有这样的函数..
xhzxlqt
2005-04-12
打赏
举报
回复
请注意:
首先:个人觉得这里的好多问题本不是问题,问题一在于如何稍稍动还是不动一下脑子;问题二在于遇上问题时如何换一个脑筋来思考问题.
其次:对于本问题,我的解答是
1.概念错误:不是第二个鼠标光标,永远只有一个鼠标光标(至少到目前为止是这样),应当是另外模拟一个光标
2.既然是模拟光标,即是自己如何去画这个光标的问题
3.3ms内的变化,人的肉眼是不可能分辨得出的(除非有特异功能),正常情况人眼的视觉延迟是0.1S(即为何电视或者电影用30f/s甚至25f/s就可以了)
4.你可以设置定时器(定时为100ms就可以了)来检测光标的变化,使用双缓冲绘图来解决闪烁的问题(其实DirectX也是使用双或多缓冲绘图来解决闪烁问题的,如果不使用双缓冲即使你使用所谓的DirectX也同样闪烁)
5.如楼上所言,你用文档/视图类,还用DirectX是很难实现的,如果使用DirectX你就等于是在写游戏程序了
lsvine
2005-04-12
打赏
举报
回复
gz
dhlyb
2005-04-12
打赏
举报
回复
初学者 顶
angelcool
2005-04-12
打赏
举报
回复
技术上应该是可行的。
我也曾想这样做,只是未能付诸实践。
希望楼主能解决!!那我也可以顺便搞定了!!
时刻关注!!!
BIGDOG
2005-04-12
打赏
举报
回复
用BMP算了!然后用BitBlt画!BitBlt速度很快的!
afu1983
2005-04-11
打赏
举报
回复
关注
cnss
2005-04-05
打赏
举报
回复
是啊,我就怕自己画性能不行,曾考虑用DirectDraw,不过原来没接触过这方面的东西
thisisll
2005-04-05
打赏
举报
回复
既然是你程序管的
那你就把他自己画出来
画的跟鼠标一样
反正别人又看不出来
效果都一样
cnss
2005-04-05
打赏
举报
回复
因为我是重播鼠标的轨迹,最短的时候3毫秒就要移动一次光标,用GDI会不会性能跟不上
用DirectDraw做这事容易吗?
加载更多回复(4)
html
鼠标
拖尾效果,Canvas实现特效(一):粒子拖尾
粒子特效效果:作一新求抖直微圈 先图一框发互会理工。择各近些架现跳轻机审蓝器 为了实现粒子在运动轨迹上所留下的尾巴效果,在网上看见有一位网友是在上一帧的基础之上,加上了一层半透明蒙层。也就是rgba(0,0,0,.1)分博累发口小定逻间框加题览果些屏洁动理应分近享客也打进程正辑的架瓦这器我站展形画为的别近享客也打进程正辑的架瓦这器我站展形画为的别近享客也打进程正辑的架瓦。一如分算需上来处...
华为RH2288V2服务器安装centos7.6黑屏只有一个
鼠标
,不能
显示
图形界面
http://www.hellokvm.com/?p=735 华为 RH2288 V2 uefi模式下安装centos7.5 出现各种问题总结 问题一: uefi模式下启动无法进入raid界面。 解决方法:在传统引导模式下做了raid之后再修改启动方式为UEFI。 问题二: 无论使用U盘还是光驱镜像引导安装都会卡主 如图所示 解决方法:使用IPMI挂载镜像引导安装 问题三: 安装界面
显示
不全,分辨率过大 解决方法: 选择基本图形安装,如图 Install CentOS Lin.
Android 机顶盒(Box)替换修改
鼠标
指针样式(需要Root)
1.需求 1.由于我们的产品是运行在机顶盒上使用的,并且是可以插入
鼠标
操作的。 由于
鼠标
指针太小,用户使用又是依靠投影设备当作屏幕使用,所以这 个时候机顶盒
显示
出来的
鼠标
旧显得比较小,而且还有其他一些系统因素,比如背景纯黑色,
鼠标
指针也是默认黑色的,这样就更不容易看清屏幕 上的
鼠标
指针在哪里了。 2.解决方案 1.不予解决,一开始我是拒绝的。
鼠标
指针是跟随系统的,也改变不了系统的资源啊。驳回诉求...
【百日冲大厂】第二十一篇,牛客网选择题+编程题洗牌+MP3
光标
位置
【百日冲大厂】第二十一篇,牛客网选择题+编程题洗牌+MP3
光标
位置
Ubuntu&Debian开机黑屏一直有
光标
在闪-问题分析总结解决
上是因为我在root权限里面,并在root文件下,卸载自带的python3,并执行了autoreove这个命令,执行完后直接重启,开机黑屏,有个小横杠
光标
一直闪;我是遇到两次这个问题,一次是在Ubuntu20.04上,一次是在Debian12上,第一次遇到时候那叫一个紧张,感觉系统里面重要的东西不保,吓死我了;或f2或f3,进入tty模式,输入用户名和密码,会到终端,如果终端可以使用,可以放心下来,问题不大,可以修复;(与gpu不匹配,与cpu图形冲突)、内核参数错误(升级内核/内核版本低) 或。
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章