6
wxWindow::GetHandle()函数返回Windows上的HWND和Linux上的GtkWidget。我需要得到X11窗口句柄,它不是小部件本身。我怎样才能从那个小部件获得句柄?我需要C++代码,因为它是wxWidgets的主要语言。从GtkWidget获取X11窗口句柄
wxWindow::GetHandle()函数返回Windows上的HWND和Linux上的GtkWidget。我需要得到X11窗口句柄,它不是小部件本身。我怎样才能从那个小部件获得句柄?我需要C++代码,因为它是wxWidgets的主要语言。从GtkWidget获取X11窗口句柄
喜欢的东西:
GtkWidget *widget = ...;
Window w = gdk_x11_drawable_get_xid(gtk_widget_get_window(widget));
这是C,因为GTK +是一个C API,但它也是C++,所以应该没有问题。
而且别忘了#include <gdk/gdkx.h>
!
是的,我应该提到C,因为gtk在C中,而C++是向后兼容的。什么是“窗口”类型? – user1873947 2013-02-09 13:10:15
'Window'是本机XWindows窗口的类型。它被定义为'typedef XID Window',并且XID本身是一个整数类型,用于标识大多数X资源(参见'/ usr/include/X11/X.h')。 – rodrigo 2013-02-09 13:12:42
谢谢。如果我包含wxwidgets和gdk/gdkx.h,这个类型是否会被编译器知道? – user1873947 2013-02-09 13:14:14