如何更改窗口的光标?

  HCURSOR cursor = LoadCursor(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDC_CURSOR1));
  SetClassLong(m_hWnd,GCL_HCURSOR,(long)cursor);

  SetCursor(cursor);

其中IDC_CURSOR1为自己导入的光标资源。

使用SetClassLong设置光标后,这个窗口的光标就不会改变了,默认情况下改变光标后系统会设置回原来的光标(OnSetCursor),另外这里要使用AfxGetInstanceHandle,使用NULL的话,导入非标准光标会没有用。

如果是标准CURSOR,LoadCursor的时候要使用NULL,而是非标准光标的时候需要使用AfxGetInstanceHandle,

另外如果在DLL中改变光标的话,这些都没用。要使用AfxGetApp()->LoadCursor(IDC_CURSOR_HAND);

 

 

参考:

http://topic.csdn.net/t/20050402/16/3903538.html

你可能感兴趣的:(null,dll)