Crate wcpopup

source ·
Expand description

Context(popup) menu for Windows.

You can customize text, border, background colors using ColorScheme and border size, margins, paddings using MenuSize. Windows Theme(Dark/Light) is also sopported.

§Example

Use ManuBuilder to create a Menu with MenuItems, and then call Menu.popup_at() to show Menu. When a MenuItem is clicked, SelectedMenuItem data is returned.

fn example(hwnd: HWND) {
  let mut builder = MenuBuilder::new(hwnd);

  builder.check("menu_item1", "Menu Label 1", "Value 1", true, None);
  builder.separator();
  builder.text_with_accelerator("menu_item2", "Menu Label 2", None, "Ctrl+P");
  builder.text_with_accelerator("menu_item3", "Menu Label 3", None, "F11");
  builder.text("menu_item4", "Menu Label 4", None);
  builder.separator();
  builder.text_with_accelerator("menu_item5", "Menu Label 5", None, "Ctrl+S");
  builder.separator();

  let mut submenu = builder.submenu("Submenu", None);
  submenu.radio("submenu_item1", "Menu Label 1", "Menu Value 2", "Submenu1", true, None);
  submenu.radio("submenu_item2", "Menu Label 2", "Menu Value 3", "Submenu1", false, None);
  submenu.build().unwrap();

  let menu = builder.build().unwrap();

  let selected_item = menu.popup_at(100, 100);
}

Structs§

Enums§

Constants§

Functions§

  • Creates RGB color.