现象:在使用WTL做CListBox子类化时,使用 ModifyStyle(0, LBS_OWNERDRAWFIXED)不起作用;

原因:并不是所有的风格都可以动态利用ModifyStyle/ModifyStyleEx()函数增加和去除,有些风格比如 LBS_HASSTRINGS | LBS_OWNERDRAWFIXED| LBS_OWNERDRAWVARIABLE 就只能在创建窗口的时候指定(其后再增加是无效的),也就是说你只能创建的之前指定。

解决:自己动态创建控件,或在待子类化的ListBox控件中指定属性(如LBS_HASSTRINGS | LBS_OWNERDRAWFIXED| LBS_OWNERDRAWVARIABLE )

附:

1) code   project中的解释

It   is   not   possible   to   change   these   styles   at   runtime   even   though   ModifyStyle()   may   give   the   impression   it   does.   If   you   want   turn   the   Sort   style   on   and   off   for   example   it   is   best   to   construct   the   List   box   by   calling   new   and   Create   then   deleting   it   and   creating   a   new   one   when   the   style   is   to   be   changed.   Alternatively   you   can   have   2   List   box   superimposed   and   hide   the   one   with   the   incorrect   style.

也就是说,无办法动态改变那些只能在创建时设置地style

2) ListBox的样式说明

风格取值
描述
LBS_EXTENDEDSEL 能通过Shift键或者鼠标进行多选
LBS_HASSTRINGS 可以用GetText函数得到列表框里选项的字符串
LBS_MULTICOLUMN 指定列表框以多列形式显示内容
LBS_MULTIPLESEL 用户可以选择多个项
LBS_NOINTEGRALHEIGHT 当应用程序创建列表框时,列表框的大小由系统指定
LBS_NOREDRAW 列表框不响应用户的修改,可以通过发送WM_REDRAW 来取消该设置
LBS_NOTIFY 让主窗口接收列表框的任何改变的消息
LBS_OWNERDRAWFIXED 主窗口负责列表框的重画,列表框里每项的高度相同(因此不会有WM_MeasureItem消息)
LBS_0WNERDRAWVARIABLE 主窗口负责列表框的重画,列表框里每项的高度可以变化
LBS_SORT 按各项名称的字母排序
LBS_STANDARD 等同于LBS_SORT和LBS_NOTIFY
LBS_USETABSTOPS 允许用户使用Tab键在各项中切换
LBS_WANTKEYBOARDINPUT 输入焦点在列表框时,任何键盘输入都会向父窗口发送WM_VKEYTOITEM或者WM_CHARTOITEM消息
LBS_DISABLENOSCROLI 当列表框的项不够时,垂直滚动条禁活:没有该属性时,滚动条隐藏

ModifyStyle()调用不起作用相关推荐

  1. c++调用python接口作用是_利用Boost::Python实现C++调用python接口

    利用Boost::Python实现C++调用python接口 2019年11月06日 阅读数:7 这篇文章主要向大家介绍利用Boost::Python实现C++调用python接口,主要内容包括基础应 ...

  2. openfeign远程调用不起作用解决_使用Spring Boot的spring.factories进行注入---SpringCloud Alibaba_若依微服务框架改造---工作笔记007

    我们在若依的: ruoyi-api-system模块中,可以看到在 com.ruoyi.system.api包下,有各种的 RemoteUserService等,然后我防着写了个自己的,但是发现,调用 ...

  3. await 多级调用不起作用?

    本意是先判断 邮箱有没注册 再加密密码 再存储到数据库 代码 router.post("/register", async ctx => {const findResult ...

  4. 在 C# 中通过 P/Invoke 调用Win32 DLL

    ,.NET Framework 1.0 或 1.1 版类库中存在任何 Windows 所没有的功能限制都不足为怪.毕竟,32 位的 Windows(不管何种版本)是一个成熟的操作系统,为广大客户服务了 ...

  5. bind函数作用、应用场景以及模拟实现

    bind函数 bind 函数挂在 Function 的原型上 Function.prototype.bind 创建的函数都可以直接调用 bind,使用: function func(){console ...

  6. 点击调用ajax,jQuery ajax在点击时调用,仅工作一次

    我有这个简单的jquery代码.单击后,它会获得标签的URL,将页面加载到当前内容旁边,然后滑动并删除旧内容.页面的状态与以前完全相同,相同的元素没有额外的类或样式.问题在于下一个ajax调用不起作用 ...

  7. 非常好的dllimport 文章--在 C# 中通过 P/Invoke 调用Win32 DLL

    http://msdn.microsoft.com/zh-cn/library/aa686045.aspx 在 C# 中通过 P/Invoke 调用Win32 DLL 发布日期 : 1/13/2005 ...

  8. java4android (static关键字的作用)

    静态成员变量的语法特点 (static String name)    既可以用类来调用,也可以用对象来调用. 静态成员变量不是对象层次的变量,是类层次的.这个类产生的所有对象,都是使用此静态成员变量 ...

  9. 为operamasks增加HTML扩展方式的组件调用

    #为operamasks增加HTML扩展方式的组件调用##背景 之前的[博文](http://www.cnblogs.com/p2227/p/3540858.html)中有提及到,发现easyui中的 ...

  10. undolog 是binlog_mysql日志redo log、undo log、binlog以及作用看这篇就可以啦

    什么是事务日志? 事务要保证ACID的完整性必须依靠事务日志做跟踪,每一个操作在真正写入数据数据库之前,先写入到日志文件中如要删除一行数据会先在日志文件中将此行标记为删除,但是数据库中的数据文件并没有 ...

最新文章

  1. 降维-基于RDD的API
  2. CF3B Lorry (手动模拟01背包,贪心)难度⭐⭐⭐
  3. 《陶哲轩实分析》引理17.2.4证明_导数的唯一性
  4. php浏览器类型检测工具,php检测客户端浏览器类型的简单示例
  5. 拒绝卡顿,揭秘盒马鲜生 Android 短视频秒播优化方案
  6. IBM致梁允超:乘着新技术东风 SaaS100+让汤臣“倍”加健壮
  7. 【征稿通知】CCF第37届中国计算机应用大会 CCF NCCA 2022
  8. eplan步进电机_干货丨三张接线图搞定步进电机接线问题!
  9. oracle imp导入修改字符集,Oracle中IMP导入数据时提示字符集不一致解决
  10. ffmpeg播放器 android,Android 调用ffmpeg 播放器开发(一)
  11. 【Silverlight】Bing Maps学习系列(八):使用Bing Maps Silverlight Control加载自己部署的Google Maps...
  12. (转)知识图谱如何让智能金融“变魔术”
  13. 计算机系统非正版,电脑安装正版系统和盗版系统的区别
  14. FIR数字滤波器的FPGA实现
  15. 编译libpng和zlib
  16. java音乐播放器脚本之家,HTML5音乐播放器skPlayer
  17. win10“无法完成操作,因为文件包含病毒或潜在的垃圾软件”解决办法
  18. php 获取服务器端口,PHP获取当前服务器详细信息
  19. 使用Uber-go Zap日志库
  20. [BD 41-1629] </zynq_ultra_ps_e_0/SAXIGP3/HP1_QSPI> is excluded from all addressable master spaces.

热门文章

  1. C# ObservableCollection集合排序
  2. 今日头条阅读量怎么刷_自动刷今日头条阅读量 头条号自己刷阅读量
  3. 数据禾|2001年珠江-西江经济带植被类型分布数据
  4. 神经网络如何利用C语言实现动画?
  5. Java Data使用DataFormat类简单格式化
  6. 计算机软件编程应聘ppt,[计算机软件及应用]单片机c编程.ppt
  7. 商品库存清单案例(Java)
  8. GIS技巧100例——10ArcGIS计算图斑椭球面积
  9. 安装win10时,显示windows 无法安装到这个磁盘,选中的磁盘具有mbr分区表
  10. 四元数与欧拉角(Yaw、Pitch、Roll)的转换