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

有关句柄的有关问题

2013-07-20 
有关句柄的问题public IntPtr CurrentHandlepublic IntPtr MouseNowPosition(int x, int y){IntPtr Origi

有关句柄的问题
        public IntPtr CurrentHandle;
        public IntPtr MouseNowPosition(int x, int y)
        {
            IntPtr OriginalHandle;//声明保存原始句柄的变量
            OriginalHandle = ((IntPtr)WindowFromPoint(x, y));//获取原始的句柄
            CurrentHandle = OriginalHandle;//保存原始的句柄
            while(OriginalHandle != ((IntPtr)0))//循环判断鼠标是否移动
            {
                CurrentHandle = OriginalHandle;//记录当前的句柄
                OriginalHandle = GetParent(CurrentHandle);//更新原始句柄
            }
            return CurrentHandle;  //返回当前的句柄
        }
这当中的while 循环 大神讲解一下 有关句柄的问题
[解决办法]
获取光标所在窗体的句柄,思路是,首先获得光标所在控件的句柄,
然后那个while循环从当前的控件开始,一层一层往上,找到窗体的句柄。
[解决办法]
就是为了找到最上一级的句柄。 因为最上一级的句柄,他的父级句柄就是等于 0. 

热点排行