如何更改窗口的光標?

  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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章