github.com/HO-COOH/Win32ControlsGallery

An animated time-lapse of how HO-COOH/Win32ControlsGallery was built, commit by commit.

Open this visualization on its own page →

Contributors

1

Lines of Code

274

From

2022-04-17

To

2022-06-11

About HO-COOH/Win32ControlsGallery

Win32 Controls Gallery is a C++ library that provides modern object-oriented wrappers around traditional Windows Win32 controls and APIs. The project is organized in layers, with a core layer offering header-only abstractions for common controls like buttons, tabs, progress bars, text edits, and trackbars, alongside wrappers for Win32 windowing, desktop window manager, and shell integration APIs. It allows developers to work with controls through constructor-based object creation and member function calls rather than the traditional SendMessage approach, supporting modern C++20 features like variadic templates and class-scoped enums.

Built on top of the core layer is a framework layer that provides higher-level, declarative constructs for UI building. The project includes practical examples such as a window gallery showcasing different window styles with interactive controls that apply changes in real time, and WinUI interoperability for hosting Xaml controls within Win32 applications. The codebase includes migration guides for developers transitioning from older Win32 patterns and MFC, making it easier to adopt the new API design with camelCase naming conventions and object-oriented patterns.

The project is compiled with Visual Studio 2022 targeting C++20 and includes extensive documentation about Win32 quirks and implementation details, such as how layered windows function, UpDown control default ranges, tooltip sizing requirements, and high-DPI awareness considerations. This makes it a comprehensive reference for modern Win32 application development alongside being a practical tool for building Windows desktop applications.

Share this video