zoukankan      html  css  js  c++  java
  • 在 FlexGrid 控件中指定最右侧显示的列

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

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

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

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

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

  • 相关阅读:
    Git 使用规范流程
    关于Python的super用法研究
    python中try except处理程序异常的三种常用方法
    break 和 continue 语句, 以及循环中的 else 子句
    杂记(python)
    Request和Response
    MVC项目开发步骤
    Web中单元测试步骤
    JSP中的细节
    WEB中地址的写法
  • 原文地址:https://www.cnblogs.com/rick/p/1230268.html
Copyright © 2011-2022 走看看