如何解决MFC单文档滚动条拖动时的重影问题(高分)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决MFC单文档滚动条拖动时的重影问题(高分)相关的知识,希望对你有一定的参考价值。
这个问题我也遇到过,解决办法如下int
m_Max;
//为获取计数范围和计数值定义变量
int
m_Min;
GetDlgItem(IDC_EDIT)->GetScrollRange(SB_VERT,&m_Min,&m_Max);
GetDlgItem(IDC_EDIT)->SetScrollPos(SB_VERT,m_Max+1,true);
((CEdit*)GetDlgItem(IDC_EDIT))->SetSel(strlen(m_commbuf),strlen(m_commbuf),false);
//自动滚屏
GetDlgItem(IDC_EDIT)->SetFocus();
m_commbuf为控件IDC_EDIT对应的变量。 参考技术A 问题描述不完整,不能判定原因。
一般MFC滚动造成
重影
,要么是系统问题(非代码),要么是OnDraw函数处理问题,这两个情况比较多,当然还有更多因素,比如自己处理了On..Scroll或者其它相关响应函数造成的。
如果只有描述中的代码(其它只是MFC默认工程代码),那么和代码无关了,应该是win系统或者VC系统有问题。 参考技术B 关联控件成员变量
m_clist,初始化的时候加入代码;
m_clist.showscrollbar(sb_horz, false);
这个你可能试过,可以隐藏到水平滚动条,但是如果你界面太小,或者你拖拽了列宽...
这个水平滚条还是会出来,似乎没有什么很好的解决办法;
建议你固定好每列的宽度,不要超过显示的页面,这样就不会出现滚动条了;
解决el-table设置了固定列导致的滚动条无法拖动问题
el-table中的el-table-column提供了一个fixed属性设置固定列,但是设置了之后发现表格的滚动条无法拖动了,通过F12定位到页面元素发现是滚动条被固定列生成的元素给覆盖了,于是想办法通过修改样式的方式解决问题。
<style lang="scss" scoped> .el-table { .el-table__fixed { // 左固定列 height: auto !important; bottom: 18px; // 改为自动高度后,设置与父容器的底部距离,高度会动态改变,值可以设置比滚动条的高度稍微大一些 } .el-table__fixed-right { // 右固定列 height: auto !important; bottom: 18px; // 改为自动高度后,设置与父容器的底部距离,高度会动态改变,值可以设置比滚动条的高度稍微大一些 } } </style>
当然也可以把这段样式放到全局的样式表中,作为全局的样式,这样就不需要每个页面都写这段样式了(推荐)。
这个问题不知道是官方的bug还是重写样式引起的冲突问题,也不追究了,能解决问题就好了。
"偶尔志得意满,偶尔消沉低落。"
以上是关于如何解决MFC单文档滚动条拖动时的重影问题(高分)的主要内容,如果未能解决你的问题,请参考以下文章
MFC单文档视图下的List Control的滚动条无法拖动,不起作用,求大神解答
MFC单文档,当你向左或向右拖到滚动条,图形的位置不能随之发生变化,怎么具体解决,感激不尽