VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 164|回复: 0

[转载] SetExtendedStyle和ModifyStyleEx的区别

[复制链接]
51_avatar_middle
online_admins Syc 发表于 2018-10-30 16:11:15 | 显示全部楼层 |阅读模式

想把ListCtr设置为整行高亮显示并且带网格线,需要设置其扩展样式:LVS_EX_FULLROWSELECT 和 LVS_EX_GRIDLINES

错误的方法为:
m_list.ModifyStyleEx(0, LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

正确的方法为:
DWORD dwStyle = m_list.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
m_list.SetExtendedStyle(dwStyle);

那么,ModifyStyleEx 和 SetExtendedStyle 的区别是什么呢?
实际上,ModifyStyleEx 只是对窗口的 GWL_EXSTYLE 属性作设定,也即只是对窗口的扩展属性作设定,这种属性以 WS_EX_ 作为前缀,比如WS_EX_CLIENTEDGE

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




上一篇:Button的动态创建响应问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-16 12:15

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表