首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取窗口在X窗口系统中的位置?

获取窗口在X窗口系统中的位置?
EN

Stack Overflow用户
提问于 2013-09-05 08:32:49
回答 1查看 1.1K关注 0票数 2

是。我尝试了这两种方法,使用"XGetWindowAttributes()“和"XGetGeometry()",但在总是0,0时只给出x,y值。

但是当我把我的窗口移到整个屏幕的中间时,如果我的屏幕分辨率是1600,900,我的返回值应该是800,450。但是,它总是返回0,0。

下面是我测试的代码,下面我附上了一张画红点的照片,解释了我想要得到的2D屏幕坐标中的点。

代码语言:javascript
复制
int* getWindowPos(Display *dpy, Window *curWin) {
    int winPos[2]; 
    unsigned int width, height, bwidth, depth;
    Window root;

    root =  XRootWindow(GLWin.dpy, 0);
//    Window myWin;
//    myWin = XRootWindow(dpy, 0);

    //XWindowAttributes xwa;
    //XGetWindowAttributes(dpy, *curWin, &xwa);
    XGetGeometry(dpy, *curWin, &root, &winPos[0], &winPos[1], &width, &height, &bwidth, &depth );
   // printf("%d %d\n", xwa.x, xwa.y);

    return winPos;

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-05 12:12:04

试一试

代码语言:javascript
复制
Window child;
XTranslateCoordinates(dpy, *curWin, root, 0, 0, &winPos[0], &winPos[1], &child);

这个应该给你左上角。对其他角重复使用(0,高度-1),(宽度-1,0)和(宽度-1,高度-1).

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18631464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档