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;
            }

  • 相关阅读:
    (六)目标文件目录探测
    (五)物理路径探测
    (四)目标后台的探测
    小妙招
    MFC的一些常用操作
    UNICODE,GBK,UTF-8区别
    c++编程的字符集及其转换
    windows消息的循环机制
    c++ mfc和win32项目
    c++ 一些注意事项
  • 原文地址:https://www.cnblogs.com/81/p/9579431.html
Copyright © 2011-2022 走看看