diff options
author | crupest <crupest@outlook.com> | 2021-11-20 21:25:29 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-11-20 21:25:29 +0800 |
commit | 1a53ed0791d9793ed8030d3a44e833e5e7c4542b (patch) | |
tree | 28aedaabee675b192e414489122349ad4985a31b /demos | |
parent | a9da4c10459e3c45115c8a42e771b00cb1caeab7 (diff) | |
download | cru-1a53ed0791d9793ed8030d3a44e833e5e7c4542b.tar.gz cru-1a53ed0791d9793ed8030d3a44e833e5e7c4542b.tar.bz2 cru-1a53ed0791d9793ed8030d3a44e833e5e7c4542b.zip |
...
Diffstat (limited to 'demos')
-rw-r--r-- | demos/main/main.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/demos/main/main.cpp b/demos/main/main.cpp index 9a28ade8..1a92e5ff 100644 --- a/demos/main/main.cpp +++ b/demos/main/main.cpp @@ -1,13 +1,16 @@ +#include <memory> #include "cru/platform/HeapDebug.hpp" #include "cru/platform/bootstrap/Bootstrap.hpp" #include "cru/platform/gui/UiApplication.hpp" #include "cru/platform/gui/Window.hpp" #include "cru/ui/Base.hpp" +#include "cru/ui/components/Menu.hpp" #include "cru/ui/controls/Button.hpp" #include "cru/ui/controls/FlexLayout.hpp" #include "cru/ui/controls/TextBlock.hpp" #include "cru/ui/controls/TextBox.hpp" #include "cru/ui/controls/Window.hpp" +#include "cru/ui/events/UiEvent.hpp" #include "cru/ui/host/WindowHost.hpp" using cru::platform::gui::IUiApplication; @@ -40,6 +43,16 @@ int main() { const auto text_box = TextBox::Create(); flex_layout->AddChild(text_box, 2); + auto popup_menu = std::make_unique<cru::ui::components::PopupMenu>(window); + popup_menu->GetMenu()->AddTextItem(u"Item 1"); + popup_menu->GetMenu()->AddTextItem(u"Item 2000"); + + window->MouseDownEvent()->Bubble()->AddHandler( + [window, &popup_menu](cru::ui::event::MouseButtonEventArgs& e) { + popup_menu->SetPosition(e.GetPoint()); + popup_menu->Show(); + }); + window->Show(); return application->Run(); |