关于MFC中控件List Control升降序怎么设置问题

最近在Win7 64位下用VS2013编写公司的图像引擎程序时需要使用到list control控件发现MFC自带的list control视觉效果较差,如下所示:

于是决定自绘从百度搜到相关自绘代码,下载到本地修改测试后发现表头CHeaderCtrl控件在程序启动时是按默认高度呈现的,只有在鼠标滚动列表后才会变成OnLayout()函数中设定的高度。经检查发现OnLayout()函数只有在鼠标滚动列表时才会被触发。

下图是按默认高度显示的效果可以看到,表头略显矮挫气场不足,故有必要找到可以为自绘表头增高的方法

在百度和谷歌搜索了很多相关资料,但效果都不理想

最后,祭出祖传逆向大法找到解决方案,本地亲测有效具体的做法是在程序启动時,譬如在OnInitDialog()函数中创建一个子线程,在子线程中添加以下代码:

 // 修改列表框表头高度
 
(如有span乱码请无视)
其中CMyDlg是对话框类,MyThread()是CMyDlg的一个静态函数m_listctrl_test是自绘列表控件类的一个实例。执行上述代码的效果相当于向列表控件发送鼠标滚动的消息通过这样的操作,程序启动时就可以洎动触发OnLayout()函数使List Control获取到我们设定的表头高度。


其中左图是按默认高度显示的效果;右图是程序自动触发OnLayout()函数后的效果,可以明显地看箌表头比左边的高实现了我们想要的效果。

建议设断点跟踪一下是哪一句引起的同时想问一下这些代码放在哪一个函数里面?

你对这个回答的评价是

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 升降序怎么设置 的文章

 

随机推荐