CListCtrl 扩展风格设置方法---SetExtendedStyle和ModifyStyleEx

想把ListCtr设置为整行高亮显示
错误的方法为:

1 clistctrl.ModifyStyleEx(0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

正确的方法为:

1 DWORD dwStyle = clistctrl.GetExtendedStyle();   
2 dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES; 
3 clistctrl.SetExtendedStyle(dwStyle);   

那么,ModifyStyleEx和SetExtendedStyle区别在哪里?

实际上,ModifyStyleEx只是对窗口的GWL_EXSTYLE属性作设定,也即只是对窗口的扩展属性作设定,这种属性以WS_EX_作为前缀,比如WS_EX_CLIENTEDGE,

在listctrl 控件中,它的扩展风格的值并没有存入窗口的GWL_EXSTYLE属性值中,而是通过发送LVM_SETEXTENDLISTVIEWSTYLE消息给listctrl控件来实现,因此它就不能通过ModifyStyleEx做设定,只能通过SetExtendedStyle进行设定。

posted @ 2014-07-31 22:41  luzhiyuan  阅读(4911)  评论(0编辑  收藏  举报