6
wxWindow::GetHandle()関数は、WindowsではHWND、LinuxではGtkWidgetを返します。ウィジェット自体ではないX11ウィンドウハンドルを取得する必要があります。どのようにしてそのウィジェットからハンドルを取得できますか? wxWidgetsの主な言語としてC++コードが必要です。GtkWidgetからX11ウィンドウハンドルを取得する
wxWindow::GetHandle()関数は、WindowsではHWND、LinuxではGtkWidgetを返します。ウィジェット自体ではないX11ウィンドウハンドルを取得する必要があります。どのようにしてそのウィジェットからハンドルを取得できますか? wxWidgetsの主な言語としてC++コードが必要です。GtkWidgetからX11ウィンドウハンドルを取得する
何かのように:のGtk +はCのAPIであるが、それはまた、C++であるので、問題はないはずなので
GtkWidget *widget = ...;
Window w = gdk_x11_drawable_get_xid(gtk_widget_get_window(widget));
それはCです。
そして、#include <gdk/gdkx.h>
を忘れないでください!
そうですが、gtkはC言語で、C++は下位互換性があります。 「ウィンドウ」タイプとは何ですか? – user1873947
'Window'は、ネイティブXWindowsウィンドウのタイプです。これは 'typedef XID Window;'として定義され、XIDはそれ自体が大部分のXリソースを識別する整数型です( '/ usr/include/X11/X.h'参照)。 – rodrigo
ありがとうございます。 wxwidgetsとgdk/gdkx.hを含めると、このタイプはコンパイラで認識されますか? – user1873947