2014-02-15 86 views
0

我有一個自定義小部件類繼承自GtkWidget,我想在Win32下用作OpenGL繪圖表面。爲GTK小部件設置WNDCLASS風格

現在我需要一個Win32-Window作爲繪圖區域,在窗口類中設置了CS_OWNDC標誌。 GTK +是否使用Win32-Windows使其成爲可能,如果是這樣,我該如何修改所使用的WNDCLASS結構?

編輯:由於在較新版本的Windows中設備上下文的數量不受限制,因此只需獲取並從不釋放DC似乎可以做到這一點。但當然這只是一個解決方法,所以我會保持這個線程打開,以防有人有想法。

回答

1

你不應該試圖進入GTK +內部窗口管理的方式。 GTK +擁有一個名爲「GtkGLExt」的OpenGL小部件,它是在GTK的附加庫中實現的。還有一個GtkGLArea,它是一個較舊的實現,並已被棄用。

使用GtkGLExt處理OpenGL的所有東西。 https://developer.gnome.org/gtkglext/stable/

+0

不幸的是,GtkGLExt不適用於GTK 3.存在一個端口,但它僅限於X11。 –

+0

@datenwolf自3.16開始,GtkGLArea在GTK + 3中。 – user877329