zoukankan      html  css  js  c++  java
  • 判断控件是否出现了滚动条

    收藏自:https://blog.csdn.net/ltolll/article/details/7637995

    经测试,有效。

      private const int WS_HSCROLL = 0x100000;
            private const int WS_VSCROLL = 0x200000;
            private const int GWL_STYLE = (-16);

            [System.Runtime.InteropServices.DllImport("user32", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
            private static extern int GetWindowLong(IntPtr hwnd, int nIndex);

            /// <summary>
            /// 判断是否出现垂直滚动条
            /// </summary>
            /// <param name="ctrl">待测控件</param>
            /// <returns>出现垂直滚动条返回true,否则为false</returns>
            internal static bool IsVerticalScrollBarVisible(Control ctrl)
            {
                if (!ctrl.IsHandleCreated)
                    return false;

                return (GetWindowLong(ctrl.Handle, GWL_STYLE) & WS_VSCROLL) != 0;
            }

            /// <summary>
            /// 判断是否出现水平滚动条
            /// </summary>
            /// <param name="ctrl">待测控件</param>
            /// <returns>出现水平滚动条返回true,否则为false</returns>
            internal static bool IsHorizontalScrollBarVisible(Control ctrl)
            {
                if (!ctrl.IsHandleCreated)
                    return false;
                return (GetWindowLong(ctrl.Handle, GWL_STYLE) & WS_HSCROLL) != 0;
            }

  • 相关阅读:
    [leetcode]存在重复
    [leetcode]旋转数组
    git使用方法(持续更新)
    [LeetCode]从排序数组中删除重复项
    Communications link failure--分析之(JDBC的多种超时情况)
    云主机挂载磁盘
    hadoop对于压缩文件的支持
    linux 转移mysql文件操作流程
    MindManager2018 修改过期时间 配置文件路径
    Innodb 中 RR 隔离级别能否防止幻读?
  • 原文地址:https://www.cnblogs.com/81/p/9579431.html
Copyright © 2011-2022 走看看