我有一个在Direct3D9下运行的应用程序。应用程序使用Direct3D HW游标API(IDirect3DDevice9::SetCursorProperties
等)来控制游标。几乎一切都很好:
问题在于窗口的非客户区域(标题栏,屏幕边缘)。在非客户区域移动时,会严格显示与该区域功能对应的光标,但一旦停止移动,将再次显示SetCursorProperties中设置的光标。
使用IDirect3DDevice9::SetCursorProperties
的正确方法是什么,以便在窗口非客户区域获取默认的OS游标?
答案 0 :(得分:1)
在尝试了各种各样的事情之后,应用程序中的以下更改已经解决了我的问题:
WM_SETCURSOR
时,请记住全局变量(lParam&0xffff)==HTCLIENT
中的条件CursorInClient
的结果CursorInClient
为false时,请避免调用IDirect3DDevice9::ShowCursor