diff --git a/include/nana/gui/detail/native_window_interface.hpp b/include/nana/gui/detail/native_window_interface.hpp index 5db4a645..fa935799 100644 --- a/include/nana/gui/detail/native_window_interface.hpp +++ b/include/nana/gui/detail/native_window_interface.hpp @@ -70,6 +70,7 @@ namespace detail static void capture_window(native_window_type, bool); static nana::point cursor_position(); static native_window_type get_owner_window(native_window_type); + static native_window_type set_parent(native_window_type child, native_window_type new_parent); //For Caret static void caret_create(native_window_type, const ::nana::size&); static void caret_destroy(native_window_type); diff --git a/source/gui/detail/native_window_interface.cpp b/source/gui/detail/native_window_interface.cpp index 202a76d3..7059e118 100644 --- a/source/gui/detail/native_window_interface.cpp +++ b/source/gui/detail/native_window_interface.cpp @@ -1199,6 +1199,17 @@ namespace nana{ return reinterpret_cast(::GetWindow(reinterpret_cast(wd), GW_OWNER)); #elif defined(NANA_X11) return restrict::spec.get_owner(wd); +#endif + } + + native_window_type native_interface::set_parent(native_window_type child, native_window_type new_parent) + { +#ifdef NANA_WINDOWS + return reinterpret_cast( + ::SetParent(reinterpret_cast(child), reinterpret_cast(new_parent)) + ); +#elif defined(NANA_X11) + #endif }