首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

GetScrollInfo获取父控件滚动条信息,但返回值全是零。求指点

2012-08-28 
GetScrollInfo获取父控件滚动条信息,但返回值全是0。求指点。我使用GetScrollInfo获取treeview滚动条信息的

GetScrollInfo获取父控件滚动条信息,但返回值全是0。求指点。
我使用GetScrollInfo获取treeview滚动条信息的时候,返回值全是0。为什么?

下面是我的代码:

C# code
SCROLLINFO si = new SCROLLINFO();si.cbSize = (uint)Marshal.SizeOf(si);si.fMask = (uint)ScrollInfoMask.SIF_ALL;WIN32.GetScrollInfo(this.Handle, (int)SBOrientation.SB_VERT, ref si)[DllImport("user32.dll")][return: MarshalAs(UnmanagedType.Bool)]public static extern bool GetScrollInfo(IntPtr hwnd, int fnBar, ref SCROLLINFO lpsi);[Serializable, StructLayout(LayoutKind.Sequential)]public class SCROLLINFO{    public uint cbSize;    public uint fMask;    public int nMin;    public int nMax;    public uint nPage;    public int nPos;    public int nTrackPos;}public enum ScrollInfoMask : uint{    SIF_RANGE = 0x1,    SIF_PAGE = 0x2,    SIF_POS = 0x4,    SIF_DISABLENOSCROLL = 0x8,    SIF_TRACKPOS = 0x10,    SIF_ALL = (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS),}   


其实我在另外一个项目里面也用过这个API,获取能成功,但是在我新建的工程里面使用这个API,返回值除了csize和fmask,其他全是0。为什么? 请大神指点指点啊!!!!!

[解决办法]
this.Handle 是TreeView的还是Form的?

那个Window Handle一定要用对,否则就不是你想要的东西了。

[解决办法]
你用spy++看看那个TreeView中的ScrollBar是不是有自己的Window Handle,如果是的话,要用那个而不是TreeView的Handle。
[解决办法]
this.Handle?,你要获取的是TreeView,应该用TreeView的handle

热点排行