diff --git a/source/gui/place.cpp b/source/gui/place.cpp index 90b9b189..92625b8a 100644 --- a/source/gui/place.cpp +++ b/source/gui/place.cpp @@ -2756,6 +2756,11 @@ namespace nana { auto splitter = new div_splitter(tknizer.number(), this); children.back()->div_next = splitter; + + //Hides the splitter if its left leaf is undisplayed. + if (!children.back()->display) + splitter->display = false; + children.emplace_back(std::unique_ptr{ splitter }); } break; @@ -2763,7 +2768,13 @@ namespace nana { auto div = scan_div(tknizer, false, ignore_duplicate); if (!children.empty()) + { + //Hides the splitter if its right leaf is undisplayed. + if ((children.back()->kind_of_division == division::kind::splitter) && !div->display) + children.back()->display = false; + children.back()->div_next = div.get(); + } children.emplace_back(std::move(div)); }