在 FlexGrid 控件中指定最右侧显示的列

简介: FlexGrid 控件提供了指定左侧显示列的功能。因项目的需要,要求能够指定最右侧显示的列。 实现方法: 获取表格客户区宽度,然后通过每列的宽度计算出水平滚动条的位置。 但是有一个麻烦,就是垂直滚动条的问题。
FlexGrid 控件提供了指定左侧显示列的功能。因项目的需要,要求能够指定最右侧显示的列。
实现方法:
获取表格客户区宽度,然后通过每列的宽度计算出水平滚动条的位置。
但是有一个麻烦,就是垂直滚动条的问题。
首先要能判断是否有垂直滚动条,
然后有垂直滚动条时,需要减出垂直滚动条的宽度,
但是控件没有提供这方面的接口。

猜想控件的滚动条可能是两种情况:
1。FlexGrid是复合控件,其中包含了滚动条对象。
这样的话,用reflector查看一下对象命名,可以通过反射访问到内部的滚动条对象。

2。是传统Win32的滚动窗体。
这样的话,可以通过win32 api函数来判断。

用reflector看了一下控件代码,是第二种情况。
所以用win32 api来解决。
用api函数
lStyle = GetWindowLong(hWnd, GWL_STYLE);
获取Style然后判断
Style中是否有 WS_VSCROLL

如果有就代表有 垂直滚动条。
再获取 滚动条的最大值和最小值,如果相等则滚动条不可见。不相等则可见。

目录
相关文章
|
8月前
|
JavaScript
Element_select 选择器 选中框中显示不了选中的值
解决Vue中`el-select`选择器不显示选中值的问题:在`selectChanged`方法中添加`this.$forceUpdate()`,强制组件更新,使输入框显示选择的值。示例代码包括模板和方法。
971 2
Navicate如何全部选中表,点击表,然后移动到右侧,右侧可以选中,实现拖拽
Navicate如何全部选中表,点击表,然后移动到右侧,右侧可以选中,实现拖拽
禁用行、列、单元格单元格编辑
禁用行、列、单元格单元格编辑
15EasyUI 布局- 创建折叠面板
15EasyUI 布局- 创建折叠面板
63 0
Qt实现单击或双击QTableWidge/View表头进行排序
Qt实现单击或双击QTableWidge/View表头进行排序
941 0
|
JavaScript
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
441 0
使用jQuery 中的显示与隐藏动画效果实现折叠下拉菜单的收缩和展开,在页面的列表中有若干项,列表的每项中有一个二级列表,二级列表默认为隐藏状态。点击列表的项,切换二级列表的显示或隐藏状态
PyQt5 技术篇-QTableWidget表格组件的行选择与列选择实例演示,表格组件的双击事件捕获,获取表格选中单元格的值
PyQt5 技术篇-QTableWidget表格组件的行选择与列选择实例演示,表格组件的双击事件捕获,获取表格选中单元格的值
1235 0
详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等(1)
详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等
1543 0
详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等(1)
|
C++ 索引
详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等(2)
详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等
2607 0
详解Qt5.12.9属性表控件:QtPropertyBrowser的使用示例/折叠/展开/小数位数/QSS样式/标题修改/选中行号等(2)