Re: using gdk_win32_window_foreign_new_for_display
- From: "Tilman K." <tkoss uni-koblenz de>
- To: gtk-list gnome org
- Subject: Re: using gdk_win32_window_foreign_new_for_display
- Date: Fri, 13 Jan 2017 13:15:47 +0100
Am 12.01.2017 um 20:04 schrieb LRN:
On 12.01.2017 21:41, Tilman K. wrote:
Am 12.01.2017 um 17:11 schrieb LRN:
On 12.01.2017 18:20, Tilman K. wrote:
Hey guys,
I would like to develop the GUI for a VST synth with gtk. I need to
embed a gtk gui inside a win32 HWND parent window. I think
"gdk_win32_window_foreign_new_for_display" could be the right function
to create a GdkWindow that is embedded inside the native window. is this
correct?
auto gdkWindow =
Glib::wrap(gdk_win32_window_foreign_new_for_display(disp->gobj(),(HWND)systemWindow));
window.set_parent_window(gdkWindow);
You might need to use gdk_win32_window_reparent() instead of set_parent_window.
To be honest, the whole foreign-window embedding thing is poorly-developed. GTK
does use it to embed its own printer properties page contents into Windows
printing dialog - and it didn't really work, last time i checked.
Also, i think this API is going away in GTK4.
My current fallback plan (in case i encounter a scenario where embedding is
needed, and i fail to make it work, or when the time of GTK4 comes, and it has
no embedding) is to instead just embed a pure W32-API child button (or
something along these lines) that causes a normal, toplevel, non-embedded
GTK-based dialog to pop up.
thanks for the reply. The function "gdk_win32_window_reparent" doesnt exist
anymore in newer versions of gtk...
But gdk_window_reparent() does.
Using "gdk_window_reparent()" its almost working :) All the input events
work, pressing buttons, opening context menus etc. But the window is
still black, so there must be something wrong with the rendering.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]