Skip to content

Modular Win32 API GUI Toolkit in C++ with CMake, featuring controls, dialogs, tooltips, toolbar, status bar, progress bar, and more.

License

Notifications You must be signed in to change notification settings

fbrianzy/win32-gui-toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Win32 GUI Toolkit Pro (Split) — C++ + CMake + MinGW

A modular Win32 API helper with many small headers/sources + demo.
Includes: Toolbar, Status Bar, Progress Bar, Tooltips/Hover, File Dialogs, Color/Font pickers, File Watcher, and Common Controls v6 (visual styles).

Features

  • Deep split:
    • include/utils/gui_core.h — fonts, layout
    • include/utils/gui_tooltip.h — tooltip, hover
    • include/utils/gui_dialogs.h — file open/save, message boxes, color/font pickers
    • include/utils/file_watcher.h — lightweight directory watcher (FindFirstChangeNotification)
    • include/controls/*.h — per-control helpers (button/edit/static/listbox/combobox/statusbar/toolbar/progress)
    • include/app_window.h — WndProc decl, class/title
    • include/resource.h — IDs
  • Demo:
    • Menu + accelerator (F1)
    • Toolbar (standard icons) + Status Bar (3 parts)
    • Button/Edit/ListBox/ComboBox
    • Progress Bar with timer
    • Hover + tooltip
    • Color/Font picker
    • Simple File Watcher (poll via timer) for the app folder
  • Visual styles via app.manifest (comctl32 v6)

Build & Run

cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
.build\win32_gui_pro_demo.exe

Notes

  • Unicode build (wWinMain) + -municode for MinGW
  • Linked: user32 gdi32 comdlg32 comctl32 uxtheme
  • Tested with MinGW-w64 13.x on Windows 10/11

About

Modular Win32 API GUI Toolkit in C++ with CMake, featuring controls, dialogs, tooltips, toolbar, status bar, progress bar, and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published