2
0
Эх сурвалжийг харах

Demo: amend Selectable() + BeginPopupContextItem() demo to maintain and update selection state when popup is open. (#6032)

ocornut 2 жил өмнө
parent
commit
156e0a8070
1 өөрчлөгдсөн 4 нэмэгдсэн , 1 устгасан
  1. 4 1
      imgui_demo.cpp

+ 4 - 1
imgui_demo.cpp

@@ -3438,11 +3438,14 @@ static void ShowDemoWindowPopups()
         // and BeginPopupContextItem() will use the last item ID as the popup ID.
         {
             const char* names[5] = { "Label1", "Label2", "Label3", "Label4", "Label5" };
+            static int selected = -1;
             for (int n = 0; n < 5; n++)
             {
-                ImGui::Selectable(names[n]);
+                if (ImGui::Selectable(names[n], selected == n))
+                    selected = n;
                 if (ImGui::BeginPopupContextItem()) // <-- use last item id as popup id
                 {
+                    selected = n;
                     ImGui::Text("This a popup for \"%s\"!", names[n]);
                     if (ImGui::Button("Close"))
                         ImGui::CloseCurrentPopup();