diff -r 330b415910bd -r 86d3a45dc928 ui/win32/toolkit.c --- a/ui/win32/toolkit.c Wed Dec 31 09:16:02 2025 +0100 +++ b/ui/win32/toolkit.c Wed Dec 31 10:06:15 2025 +0100 @@ -117,6 +117,16 @@ break; } case WM_COMMAND: { + UiWindow *win = ui_widget2window(widget); + if (win) { + uint64_t id = LOWORD(wParam); + UiCommand *cmd = cxMapGet(win->obj->ctx->command_map, id); + if (cmd) { + cmd->callback(win->obj, cmd->userdata); + break; + } + } + HWND hwndCtrl = (HWND)lParam; W32Widget *cmdWidget = (W32Widget*)GetWindowLongPtr(hwndCtrl, GWLP_USERDATA); if (cmdWidget && cmdWidget->wclass->eventproc) {