if (ImGui::BeginMenu("File")) { if (ImGui::MenuItem("New")) { } if (ImGui::MenuItem("Open")) { } ImGui::Separator(); if (ImGui::MenuItem("Save")) { } if (ImGui::MenuItem("Save As")) { } ImGui::Separator(); if (ImGui::MenuItem("Quit")) { } ImGui::EndMenu();}
void ShowMenuDemo() { // Main menu bar if (ImGui::BeginMainMenuBar()) { if (ImGui::BeginMenu("File")) { if (ImGui::MenuItem("New", "Ctrl+N")) { // Create new file } if (ImGui::MenuItem("Open", "Ctrl+O")) { // Open file dialog } if (ImGui::BeginMenu("Open Recent")) { ImGui::MenuItem("document1.txt"); ImGui::MenuItem("document2.txt"); ImGui::MenuItem("document3.txt"); ImGui::EndMenu(); } ImGui::Separator(); if (ImGui::MenuItem("Save", "Ctrl+S")) { // Save file } if (ImGui::MenuItem("Save As..")) { // Save as dialog } ImGui::Separator(); if (ImGui::MenuItem("Quit", "Alt+F4")) { // Quit application } ImGui::EndMenu(); } if (ImGui::BeginMenu("Edit")) { if (ImGui::MenuItem("Undo", "Ctrl+Z")) { } if (ImGui::MenuItem("Redo", "Ctrl+Y")) { } ImGui::Separator(); if (ImGui::MenuItem("Cut", "Ctrl+X")) { } if (ImGui::MenuItem("Copy", "Ctrl+C")) { } if (ImGui::MenuItem("Paste", "Ctrl+V")) { } ImGui::EndMenu(); } if (ImGui::BeginMenu("View")) { static bool show_grid = true; static bool show_ruler = false; ImGui::MenuItem("Show Grid", NULL, &show_grid); ImGui::MenuItem("Show Ruler", NULL, &show_ruler); ImGui::EndMenu(); } ImGui::EndMainMenuBar(); } // Window with context menu ImGui::Begin("Window with Context Menu"); ImGui::Text("Right-click on me!"); if (ImGui::BeginPopupContextItem()) { if (ImGui::MenuItem("Action 1")) { } if (ImGui::MenuItem("Action 2")) { } ImGui::Separator(); if (ImGui::MenuItem("Close")) { } ImGui::EndPopup(); } // Context menu for empty space if (ImGui::BeginPopupContextWindow()) { if (ImGui::MenuItem("Clear")) { } if (ImGui::MenuItem("Reset")) { } ImGui::EndPopup(); } ImGui::End();}