一、Windows的图标、光标、字符串和自订资源—使用自订光标
在程序中使用自订的鼠标光标与使用自订的图示相似,只是大多数程序写作者总是使用Windows提供的光标。自订游标一般为单色,大小为32×32图素。在Developer Studio中建立光标与建立图标的方法相同(从「Insert」菜单上选择「 Resource」,然后单击「Cursor」),但不要忘记定义热点。
可以在对象类别定义中设定自订光标,叙述为:
wndclass.hCursor = LoadCursor (hInstance, MAKEINTRESOURCE (IDC_CURSOR)) ;
如果光标用文字名称定义,则为:
wndclass.hCursor = LoadCursor (hInstance, szCursor) ;
每当鼠标位于根据这个类别建立的窗口上时,就会显示与IDC_CURSOR或szCursor相对应的鼠标光标。
如果使用了子窗口,那么您可能希望光标随着所在窗口的不同而有所区别。如果程序为这些子窗口定义了窗口类别,就可以在每个窗口类别中适当地设定hCursor字段,让每个窗口类别使用不同的光标。如果使用了预先定义的子窗口控件,就可以使用以下方法改变窗口类别的hCursor字段:
SetClassLong (hwndChild, GCL_HCURSOR, LoadCursor (hInstance, TEXT ("childcursor")) ;
如果您将显示区域划分为较小的逻辑区域而不使用子窗口,就可以使用SetCursor来改变鼠标光标:
SetCursor (hCursor) ;
在处理WM_MOUSEMOVE消息处理期间,您应该呼叫SetCursor;否则,当光标移动时,Windows将使用窗口类别中定义的光标来重画光标。文件指出,如果没有改变光标,则SetCursor速度将会很快。