谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較
谈谈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 比較相关推荐
- 谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比较
谈谈CListCtrl 扩展风格设置方法 --------------------------------------SetExtendedStyle和ModifyStyleEx 比较 对于初学者来说 ...
- CListCtrl 扩展风格设置方法---SetExtendedStyle和ModifyStyleEx
想把ListCtr设置为整行高亮显示 错误的方法为: 1 clistctrl.ModifyStyleEx(0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); 正确的方法 ...
- 如何在mfc主对话框中再显示子对话框_win10扩展显示器设置方法
使用win10系统的过程中,常常需要对win10系统扩展显示器进行设置.良多对电脑不太认识的用户不知道win10系统扩展显示器到底该如何设置?实在win10系统扩展显示器的设置方法非常简朴,下面小编教 ...
- linux扩展模式触摸屏,Ubuntu14.04下使用触摸屏以及笔记本扩展触摸屏设置方法
今天拿到了一块触摸屏,在win10和Ubuntu14.04下测试其使用.触摸屏品牌为朗歌斯,型号为LS530TM,是一块15寸电阻触摸显示屏. Windows下的使用很方便,显示屏上一共三根线:电源线 ...
- 双线macd指标参数最佳设置_MT4双线MACD设置方法及扩展应用
原标题:MT4双线MACD设置方法及扩展应用 在MT4交易软件上MACD虽然看起来是单线,其实它和我们在股票软件上看到的双线MACD并没有本质的区别. 将MT4软件上MACD的每一个柱的顶点连成线,其 ...
- 计算机的屏幕怎么扩展,电脑如何扩展屏幕_给电脑扩展屏幕的设置方法
正常情况下,一台电脑就只有显示一个屏幕桌面,工作中经常要显示多个屏幕,这样可以一边工作,一边做其他事情.那么如何给电脑扩展屏幕?相信很多小伙伴还不懂怎么操作?别担心,下面给大家说一下给电脑扩展屏幕的具 ...
- android设置主题的方法,Android_修改Android App样式风格的方法,android中可以自定义主题和风格 - phpStudy...
修改Android App样式风格的方法 android中可以自定义主题和风格.风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等.可以在res/value ...
- CListCtrl控件使用方法总结
原文地址:https://www.cnblogs.com/sura/archive/2012/05/15/2501132.html 列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可 ...
- 7.1创新Audigy2Z S 7.1声卡的设置方法
7.1创新Audigy2Z S 7.1声卡的设置方法 一.创新Audigy 2 ZS的安装 }kO'Pg/p OZW?_>>1q 我们使用操作系统最好使用windows xp, ...
最新文章
- HTTPDNS成为移动互联网的标配–原因与原理解析(转)
- JSON学习笔记-3
- C# 图片缩放放大剪切代码
- Maven问题总结 - 2
- NYOJ 63 小猴子下落
- matlab写函数进行坐标正反算,基于matlab的坐标正反算
- 罗马音平假名片假名转换器_记不住五十音的你,你肯定需要这套日语五十音谐音巧记法...
- Mysql学习总结(35)——Mysql两千万数据优化及迁移
- golang中包互相引用的解决方法
- Linux-删除文件空间不释放问题解决
- 每天一个linux命令cd,Linux指令每日背诵(第一天)
- Java线程池的学习记录
- laydate点击输入框闪一下不见了_解决layui laydate 时间控件一闪而过的问题
- matlab计算天线方向性系数,天线方向图(Antenna Pattern)的设计解析思路
- HTML之meta属性大全
- 董卫凤:不服输的华丽转身(三)
- 『Python』Excel文件的读取以及DataFrame的相关操作 (2)
- 猫抓老鼠c语言程序,猫抓老鼠问题C++实现一例(约瑟夫环问题)
- 什么是servlet ?简述servlet执行原理?生命周期是怎样的?
- 解决 “您必须首先安装.NETFramework的以下版本“