ListCtrl中的最上面的标题栏那里的鼠标状态,当不需要拉动时应该更改为正常的状态。
用下面一句话可搞定:m_plist.GetHeaderCtrl()->EnableWindow(false);
还有一个函数SetClassLong()
直接调用SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)LoadCursor(HINSTANCE ,MAKEINTRESOURCE(ID__))
该函数的第二个参数可以 index 可以改变光标状态,但没用过 ;
函数功能:该函数替换额外的类存储空间中指定偏移量处的32位长整型值,或替换指定窗口所属类的WNDCLASSEX结构(应该是替换这个结构体中值,没有把结构体给换了吧)。
函数原型:DWORD SetClassLong(HWND hWnd,int nlndex,LONGdwNewLong)
hWnd:窗口句柄及间接给出的窗口所属的类。
nlndex:指定将被替换的32位值。在额外类存储空间中设置32位值,应指定一个大于或等于0的偏移量。
取值:
GCL_CBCLSEXTRA:设置与类相关的尺寸的字节大小。设定该值不改变己分配的额外字节数。
GCL_CBWNDEXTRA:设置与类中的每一个窗口相关的尺寸的字节大小。设定该值不改变已分配额外字节数。查看如何进入该内存,参看SetWindowLOng。
GCL_HBRBACKGROUND:替换与类有关的背景刷子的句柄。
GCL_HCURSOR:替换与类有关的光标的句柄。GCL_HICON:替换与类有关的图标的句柄。
GCL_HMODULE:替换注册类的模块的句柄。GCL_STYLE:替换窗口类的风格位。
GCL_MENUNAME:替换菜单名字符串的地址。该字符串标识与类有关的菜单资源。
GCL_WNDPROC:替换与窗口类有关的窗口过程的地址。
注:使用SetClassLong函数需要谨慎。例如,可以通过使用SetClassLong来改变类的背景颜色,但是这种改变不会马上生效,直到属于该类的窗体下次重绘,除非使用UpdateWindow()强迫窗体更新。