ui/win32/toolkit.c

changeset 1035
86d3a45dc928
parent 956
4cdfbfd2038d
child 1036
24677835f298
equal deleted inserted replaced
1034:330b415910bd 1035:86d3a45dc928
115 case WM_DESTROY: { 115 case WM_DESTROY: {
116 PostQuitMessage(0); 116 PostQuitMessage(0);
117 break; 117 break;
118 } 118 }
119 case WM_COMMAND: { 119 case WM_COMMAND: {
120 UiWindow *win = ui_widget2window(widget);
121 if (win) {
122 uint64_t id = LOWORD(wParam);
123 UiCommand *cmd = cxMapGet(win->obj->ctx->command_map, id);
124 if (cmd) {
125 cmd->callback(win->obj, cmd->userdata);
126 break;
127 }
128 }
129
120 HWND hwndCtrl = (HWND)lParam; 130 HWND hwndCtrl = (HWND)lParam;
121 W32Widget *cmdWidget = (W32Widget*)GetWindowLongPtr(hwndCtrl, GWLP_USERDATA); 131 W32Widget *cmdWidget = (W32Widget*)GetWindowLongPtr(hwndCtrl, GWLP_USERDATA);
122 if (cmdWidget && cmdWidget->wclass->eventproc) { 132 if (cmdWidget && cmdWidget->wclass->eventproc) {
123 cmdWidget->wclass->eventproc(cmdWidget, hwnd, uMsg, wParam, lParam); 133 cmdWidget->wclass->eventproc(cmdWidget, hwnd, uMsg, wParam, lParam);
124 } 134 }

mercurial