社区
界面
帖子详情
怎样显示第二个鼠标光标?(400分求一解)
cnss
2005-04-05 02:48:13
我想在程序的CView里显示另一个鼠标光标,它的位置是由我的程序控制的.
查了办天MSDN,好象没有这样的API.
我想了一个办法是用GDI/双缓冲,当CView重绘或光标改变位置时手绘在缓冲区内,不过这样性能恐怕不会太好.
还有什么办法吗?最好能用API解决,400分送上!
...全文
409
27
打赏
收藏
怎样显示第二个鼠标光标?(400分求一解)
我想在程序的CView里显示另一个鼠标光标,它的位置是由我的程序控制的. 查了办天MSDN,好象没有这样的API. 我想了一个办法是用GDI/双缓冲,当CView重绘或光标改变位置时手绘在缓冲区内,不过这样性能恐怕不会太好. 还有什么办法吗?最好能用API解决,400分送上!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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)
java 移动
鼠标
光标
Java 移动
鼠标
光标
的实现方法 在Java中,移动
鼠标
光标
是一个相对简单但实用的特性。本文将介绍如何在Java应用程序中实现
鼠标
光标
的移动,包括使用AWT和Swing库的方法。 AWT库中的实现 AWT(Abstract Window Toolkit)是Java的抽象窗口工具包,提供了一套与本地窗口系统交互的接口。在AW...
java 系统
光标
状态_java等待
光标
显示
问题
我在应用程序中
显示
等待
光标
时遇到问题。只要
鼠标
位于定义自己的
光标
的面板上方,就不会出现等待
光标
。如果面板不更改
光标
,则会
显示
等待
光标
。我附上SSCE,以准确解释我的问题。public class BusyCursorTest extends javax.swing.JFrame {public BusyCursorTest() {javax.swing.JMenuBar menuBar = new...
js 限制
鼠标
移动范围
js 限制
鼠标
移动范围(js隐藏
鼠标
) js
鼠标
禁用功能 js 拖拽
设置窗体的
鼠标
光标
- Java实现
在上面的代码中,我们创建了一个名为"设置窗体的
鼠标
光标
示例"的JFrame对象,并设置其大小和关闭操作。然后,我们创建一个十字
光标
的Cursor对象,并将其作为参数传递给setCursor()方法来设置窗体的
鼠标
光标
。在上面的代码中,我们加载一个名为"custom_cursor.png"的图片,并使用Toolkit类的createCustomCursor()方法创建一个自定义
光标
。无论是使用预定义的
光标
还是创建自定义的
光标
,都可以根据应用程序的需求来灵活设置窗体
光标
的外观。
设置Java窗体的
鼠标
光标
样式
在Java应用程序开发中,有时需要自定义窗体的
鼠标
光标
样式,以增强用户交互体验。首先,我们需要使用Java的AWT(抽象窗口工具包)或Swing(基于AWT的GUI工具包)来创建窗体。你可以根据自己的需求定制不同的
光标
样式,以提升用户体验。希望本文对你有所帮助!该方法接受三个参数:自定义
光标
的图像、
光标
热点(指定
光标
形状的位置)和
光标
名称。表示
光标
的热点位于图像的左上角,你也可以根据需要进行调整。最后,我们将创建的自定义
光标
设置到窗体上,即调用。在构造函数中,我们设置了窗体的标题、大小和默认关闭操作。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章