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

谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較谈谈CListCtrl扩展风格设置方法————————————–SetExtendedStyle和ModifyStyleEx比較对于刚開始学习的人来说,当他须要设定listctrl的扩展风格时,经常想到用ModifyStyleEx来设定,代码例如以下:ModifyStyleEx(0,LVS_EX_GRIDLINES)…

大家好,又见面了,我是你们的朋友全栈君。

谈谈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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161697.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 0xFFFFFFFF 为什么表示-1

    0xFFFFFFFF 为什么表示-1负数的补码是:原码按位取反再加一逆序求原码:-1的补码是FFFF=1111111111111111减一:1111111111111110按位取反(除符号位):1000000000000001最高位1表示符号位,"0"表示正数"1"表示负数=========补充原码是不用求的。原码就是没有修改过的嘛。对于signedin…

    2022年5月13日
  • android之通过Button的监听器往adapter中添加数据时出错

    本来源代码如下: List model; //自定义的一个List数据,存储的是自定义的类 LunchListAdapter adapter;//自定义的一个ListView的适配器 ……//省略class onSavaLis implements OnClickListener{ //Button s

    2022年3月10日
  • 伽马校正和颜色空间

    伽马校正和颜色空间一、伽马校正所谓gamma校正,实际上是一个颜色的非线性曲线变换。下面来解释这个曲线存在的原因。1.1人眼的非线性视觉效应为什么要有gamma校正了。一言以蔽之,人眼的生理效应。如下图所示,第一行是人眼感受到的线性亮度变化,第二行是真实的非线性亮度变化。可以得出结论,首尾两端是一致的,但是中间值变化不一致;真实的中间亮度值必须更大,才能得到人眼感知的线性亮度变化。我们的目的是让人眼感受到线性的亮度变化曲线,因此输入亮度必须是第二行这种非线性的亮度变化曲线。第二行的亮度变化曲线,就是伽马校正曲线

    2022年9月24日
  • io流怎么用_io流java

    io流怎么用_io流java相信大家都能体会到,io流用到的地方很多,就比如上传下载,传输,设计模式等….基础打扎实了,才能玩更高端的。在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点:>(1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写)(2)明确要操作的设备上的数据是字节还是文本(3)明确数据所在的具体设备(4)明确是否需要额外功能(比如是否需要转换流、高效流等)

    2022年10月20日
  • cBridge 2.0 测试网上线!

    cBridge 2.0 测试网上线!我们在上个月末发布了cBridge2.0计划,现在我们很高兴地向大家宣布,cBridge2.0测试网正式启动!cBridge2.0建立的目的是为用户提供更简单的操作体验,它具有高度可扩展和足够深度的多链流动性管理系统,每日为用户提供数十亿美元的跨链转账流动性。用户和流动性提供者(LPs)可以通过test-cbridge-v2.celer.network访问cBridge2.0测试网,熟悉更简单的跨链转账流程,全新的流动性管理和流动性挖矿功能。随着测试网上线,我们同时推出了一…

    2022年6月4日
  • GitHub开源的10个超棒后台管理面板

    GitHub开源的10个超棒后台管理面板项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、样式丰富的后台管控面板,深夜学习简书上一位大神的博文,共总结10项优秀后台管理控制面板(9个GitHub项目,1个在线UI框架)。

    2022年6月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号