wbz008
wbz008
采纳率0%
2016-03-01 10:16 浏览 3.0k

windows api 通过句柄获取控件在窗口的坐标问题?

图片说明

图片说明

NativeRECT sRECT = new NativeRECT();
//get 屏幕 RECT
GetWindowRect(hWnd, out sRECT);
问题1:该方法有时获去到的值是负数 ? 求解答?

  ScreenToClient(hWnd, ref xx);
    问题2:该方法获取到的值 一直是0 


    //结构体布局 本机位置

[StructLayout(LayoutKind.Sequential)]
public struct NativeRECT
{
public int left;
public int top;
public int right;
public int bottom;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-03-01 12:23

    看你的nativerect怎么定义的,和C++的结构体签名、顺序是否一致。

    点赞 1 评论 复制链接分享
  • wbz008 wbz008 2016-03-02 01:25

    public struct RECT
    {
    public int Left;
    public int Top;
    public int Right;
    public int Bottom;
    }

    //结构体布局 本机位置
    [StructLayout(LayoutKind.Sequential)]
    public struct NativeRECT
    {
        public int left;
        public int top;
        public int right;
        public int bottom;
    }
    
    点赞 评论 复制链接分享

相关推荐