2010-12-19 63 views
0

在用Windows API制作GUI之后,我最近意识到了光标问题。当我编译并运行我的应用程序时,它会显示一个与其应该一样的窗口。当我将光标从屏幕左侧拖入我的应用程序窗口时,当它越过边界时,它变成了调整大小的东西,但它仍然像我窗口内的任何地方。如果我从底部将它带入窗户,也是如此。但是,当我从右侧进行时,问题不存在。我质疑,如果这只是我的程序,所以我去了MSDN网站,甚至编译和尝试他们的程序(http://msdn.microsoft.com/en-us/library/ff381409%28v=VS.85%29.aspx )。同样的问题!于是我开始尝试使用WM_SETCURSOR消息和游标函数,但没有得到任何答案。 有没有人有任何解释,我可以做些什么来解决它?任何帮助将不胜感激。应用程序窗口中的光标不正确类型

回答

1

是的,这个例子代码将表现为你描述,因为WNDCLASShCursor成员设置为零,并且WindowProc()不处理WM_SETCURSOR

如果你想在同一光标所有的时间,那么这是最容易做的是这样的设置,当你的窗口类:

wc.hCursor = LoadCursor(0, IDC_ARROW); 

如果你想有更多的控制光标,然后你要离开WNDCLASS::hCursor为零,并致电SetCursor()以回应WM_SETCURSOR。您需要加载/创建各种游标,并根据应用程序的状态选择合适的游标。

+0

是的,我应该更仔细地阅读loadcursor函数的文档,因为在加载操作系统提供的箭头时,我的实例有第一个参数。解决问题,谢谢。 – contrapsych 2010-12-19 23:43:05