谈谈CListCtrl 扩展风格设置方法

--------------------------------------SetExtendedStyle和ModifyStyleEx 比較

对于刚開始学习的人来说,当他须要设定listctrl的扩展风格时,经常想到用ModifyStyleEx 来设定,代码例如以下:

ModifyStyleEx(0,LVS_EX_GRIDLINES)

这是不对的,正确的设定应该是:

SetExtendedStyle(LVS_EX_GRIDLINES)

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

实际上,ModifyStyleEx仅仅是对窗体的GWL_EXSTYLE属性作设定,也即仅仅是对窗体的常规扩展属性作设定,这样的属性以WS_EX_作为前缀,比方WS_EX_CLIENTEDGE,

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

比較起ModifyStyle,该API就可以设定普通窗体的风格,比方WS_CHILD,WS_VISIBLE。也可.设定控件的普通风格,对listctrl,就有LVS_REPORT,LVS_OWNERDRAWFIXED等等,这就是为什么在创建子控件时我们能够把WS_CHILD,WS_VISIBLE结合在一起传递的控件的create函数的原因:

m_list.Create(WS_CHILD|WS_VISIBLE|LVS_REPORT,CRect(0,0,100,100),this,0);

但对于扩展风格却不能这么做:

m_list.CreateEx(WS_EX_CLIENTEDGE|LVS_EX_GRIDLINES,"LISTCTRL","",WS_CHILD|WS_VISIBLE,CRect(0,0,100,100),this,0);

为什么微软没有把控件的扩展风格储存在GWL_EXSTYLE属性中,由于这个属性值为32位长的DWORD型,窗体的常规扩展属性即以WS_EX_作为前缀的属性,已经把它占完了,所以对listctrl 的扩展风格,微软仅仅能把它放在其它地方了。

转载于:https://www.cnblogs.com/mengfanrong/p/4007260.html

谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較相关推荐

  1. 谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比较

    谈谈CListCtrl 扩展风格设置方法 --------------------------------------SetExtendedStyle和ModifyStyleEx 比较 对于初学者来说 ...

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

    想把ListCtr设置为整行高亮显示 错误的方法为: 1 clistctrl.ModifyStyleEx(0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); 正确的方法 ...

  3. 如何在mfc主对话框中再显示子对话框_win10扩展显示器设置方法

    使用win10系统的过程中,常常需要对win10系统扩展显示器进行设置.良多对电脑不太认识的用户不知道win10系统扩展显示器到底该如何设置?实在win10系统扩展显示器的设置方法非常简朴,下面小编教 ...

  4. linux扩展模式触摸屏,Ubuntu14.04下使用触摸屏以及笔记本扩展触摸屏设置方法

    今天拿到了一块触摸屏,在win10和Ubuntu14.04下测试其使用.触摸屏品牌为朗歌斯,型号为LS530TM,是一块15寸电阻触摸显示屏. Windows下的使用很方便,显示屏上一共三根线:电源线 ...

  5. 双线macd指标参数最佳设置_MT4双线MACD设置方法及扩展应用

    原标题:MT4双线MACD设置方法及扩展应用 在MT4交易软件上MACD虽然看起来是单线,其实它和我们在股票软件上看到的双线MACD并没有本质的区别. 将MT4软件上MACD的每一个柱的顶点连成线,其 ...

  6. 计算机的屏幕怎么扩展,电脑如何扩展屏幕_给电脑扩展屏幕的设置方法

    正常情况下,一台电脑就只有显示一个屏幕桌面,工作中经常要显示多个屏幕,这样可以一边工作,一边做其他事情.那么如何给电脑扩展屏幕?相信很多小伙伴还不懂怎么操作?别担心,下面给大家说一下给电脑扩展屏幕的具 ...

  7. android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...

    修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...

  8. CListCtrl控件使用方法总结

    原文地址:https://www.cnblogs.com/sura/archive/2012/05/15/2501132.html 列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可 ...

  9. 7.1创新Audigy2Z S 7.1声卡的设置方法

    7.1创新Audigy2Z S 7.1声卡的设置方法 一.创新Audigy 2 ZS的安装 }kO'Pg/p   OZW?_>>1q     我们使用操作系统最好使用windows xp, ...

最新文章

  1. HTTPDNS成为移动互联网的标配–原因与原理解析(转)
  2. JSON学习笔记-3
  3. C# 图片缩放放大剪切代码
  4. Maven问题总结 - 2
  5. NYOJ 63 小猴子下落
  6. matlab写函数进行坐标正反算,基于matlab的坐标正反算
  7. 罗马音平假名片假名转换器_记不住五十音的你,你肯定需要这套日语五十音谐音巧记法...
  8. Mysql学习总结(35)——Mysql两千万数据优化及迁移
  9. golang中包互相引用的解决方法
  10. Linux-删除文件空间不释放问题解决
  11. 每天一个linux命令cd,Linux指令每日背诵(第一天)
  12. Java线程池的学习记录
  13. laydate点击输入框闪一下不见了_解决layui laydate 时间控件一闪而过的问题
  14. matlab计算天线方向性系数,天线方向图(Antenna Pattern)的设计解析思路
  15. HTML之meta属性大全
  16. 董卫凤:不服输的华丽转身(三)
  17. 『Python』Excel文件的读取以及DataFrame的相关操作 (2)
  18. 猫抓老鼠c语言程序,猫抓老鼠问题C++实现一例(约瑟夫环问题)
  19. 什么是servlet ?简述servlet执行原理?生命周期是怎样的?
  20. 解决 “您必须首先安装.NETFramework的以下版本“

热门文章

  1. “为硬件保留的内存”过大解决方法
  2. 【后端教程】Linux 时间基本概念
  3. 分享一种超简单的js解密方法
  4. 苏州移动实习二面惨痛教训
  5. 学习Linux的方法以及六个阶段(简略)
  6. 如何玩转私域流量运营?
  7. haskell入门教程[持续更新]
  8. 21.3centos7 PXE自动安装操作系统
  9. Ehome:智能家居之多媒体系统mp3音频播放
  10. “常数变易法”有效的原理