Overview
EasyMenu is a modern, cross-platform C++ library designed to simplify the creation of interactive console menus. With a minimal, dependency-free API, you can quickly build professional menu systems for command-line applications.
Key Features
Header-Only
No compilation required. Simply include the headers and start building menus immediately.
Cross-Platform
Works seamlessly on Windows, Linux, and macOS through a unified API.
Simple API
Intuitive methods for creating, managing, and displaying menus with minimal code.
Adaptive Rendering
Automatically adjusts to terminal size with paginated item display.
Customizable
Flexible header and footer components for complete visual control.
Zero Dependencies
No external libraries required. Pure C++ standard library implementation.
Quick Example
#include <iostream>
#include <EasyMenu.h>
int main() {
EasyMenu menu("Main Menu");
menu.AddItem("New Game");
menu.AddItem("Load Game");
menu.AddItem("Settings");
menu.AddItem("Exit");
unsigned int choice = menu.RunMenu();
if (choice > 0) {
std::cout << "You selected: " << choice << std::endl;
}
return 0;
}
Getting Started
Ready to start building console menus? Follow these steps:
- Install the library by including the headers in your project
- Follow the Quick Start Guide to create your first menu
- Explore the API Documentation for advanced features
- Check out examples for common use cases
Platform Support
EasyMenu has been tested and verified on:
- Windows 7 and Windows 10 (CMD, PowerShell, Windows Terminal)
- Linux (bash and other common shells)
- macOS Terminal
License
EasyMenu is released under the MIT License. You are free to use, modify, and distribute this library in both personal and commercial projects.