ui/win32/window.c

changeset 825
1bac7e45712b
parent 818
8185cd761897
child 841
651cf2c59dd9
--- a/ui/win32/window.c	Thu Oct 09 18:24:09 2025 +0200
+++ b/ui/win32/window.c	Thu Oct 09 18:49:19 2025 +0200
@@ -58,11 +58,18 @@
 		widget->wclass->eventproc(widget, hwnd, uMsg, wParam, lParam);
 	}
     switch(uMsg) {
-        case WM_DESTROY:
-            PostQuitMessage(0);
-            break;
-        default:
-            return DefWindowProc(hwnd, uMsg, wParam, lParam);
+        case WM_DESTROY: {
+	        PostQuitMessage(0);
+        	break;
+        }
+		case WM_COMMAND: {
+        	HWND hwndCtrl = (HWND)lParam;
+        	W32Widget *cmdWidget = (W32Widget*)GetWindowLongPtr(hwndCtrl, GWLP_USERDATA);
+        	if (cmdWidget && cmdWidget->wclass->eventproc) {
+        		cmdWidget->wclass->eventproc(cmdWidget, hwnd, uMsg, wParam, lParam);
+        	}
+        }
+        default: return DefWindowProc(hwnd, uMsg, wParam, lParam);
     }
     return 0;
 }

mercurial