C++ RemoteDesktop 滑鼠顯示問題

劉惪宇 2019-08-15 05:31:31
各位大大,小弟撰写远端连线的程式,现行想要在Viewer端显示Client端的滑鼠游标,于是使用了DrawIconEx的函数来显示滑鼠游标
DrawIconEx(
m_hmemdc, // handle to device context
m_cursorpos.left - m_bmrect.left,
m_cursorpos.top - m_bmrect.top,
m_hcursor, // handle to icon to draw
0, 0, // width of the icon
0, // index of frame in animated cursor
NULL, // handle to background brush
DI_NORMAL // icon-drawing flags
);
,但是因为画面刷新所以无法看到滑鼠游标。画面刷新是用bitblt的方式
BOOL blitok = BitBlt(
m_hmemdc, // handle to device context
rect.left - m_bmrect.left,
rect.top - m_bmrect.top,
rect.right - rect.left,
rect.bottom - rect.top,
m_hrootdc, //handle from source context
rect.left, rect.top,
SRCCOPY | CAPTUREBLT)
,如果说将画面刷新截断成两个部份的话就能够看到滑鼠游标(虽然是闪烁的状态),但会造成Viewer端画面看起来是有两半显示的状况。

想请问说有什么方法能够让我的滑鼠游标显示在最上湣或是有什么其他方法能够显示游标???
麻烦各位大大帮帮忙!!
...全文
60 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2019-08-16
鼠标用一个独立的上层子窗口显示?
回复
smwhotjay 2019-08-16
引用 2 楼 劉惪宇 的回复:
@smwhotjay

目前畫面是不斷地刷新,所以鼠標雖然有顯示,但都會被畫面更新覆蓋,所以呈現出來就會沒有看見鼠標. 如果將畫面更新速率將低,雖然可以看到鼠標(呈現閃爍狀態),但卻又降低了觀看品質。所以才想問說 是否能夠讓鼠標永久放置在畫面最上方,或是其他方法顯示

先绘制大图,最后绘制鼠标。 如果先绘制鼠标,鼠标的图就会被大图覆盖!!
回复
劉惪宇 2019-08-16
@smwhotjay 目前畫面是不斷地刷新,所以鼠標雖然有顯示,但都會被畫面更新覆蓋,所以呈現出來就會沒有看見鼠標. 如果將畫面更新速率將低,雖然可以看到鼠標(呈現閃爍狀態),但卻又降低了觀看品質。所以才想問說 是否能夠讓鼠標永久放置在畫面最上方,或是其他方法顯示
回复
smwhotjay 2019-08-15
Viewer端 最后draw显示鼠标图片即可。
回复
发帖
其它技术问题
创建于2007-09-28

3842

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2019-08-15 05:31
社区公告
暂无公告