【GTK】如何得到控件的位置

不同的情况对应有不同的解决的办法.

如果你想得到一个控件相对于它的父窗口的位置,你需要使用widget->allocation.x 和 widget->allocation.y.

如果你想的到一个窗口相对于X主窗口(X root window)的位置,

      你应该使用gdk_window_get_geometry()

                         gdk_window_get_position() 

                 或者 gdk_window_get_origin().

如果你想得到一个窗口(包括WM修饰的窗口)的位置,应该使用gdk_window_get_root_origin().

最后但不是不重要,如果你想得到窗口管理器的位置,你应该使用gdk_window_get_deskrelative_origin().

你选择的窗口管理器(Window Manager)将可能影响上面函数的结果,在写你的程序的时候,你应该记住这一点.这主要是决定于窗口管理器如何管理对窗口添加的修饰.

posted @ 2011-12-26 11:55  MXi4oyu  阅读(193)  评论(0编辑  收藏  举报