ui/win32/toolkit.c

changeset 118
6d0da97105d8
parent 115
e57ca2747782
equal deleted inserted replaced
117:b174e721663e 118:6d0da97105d8
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, id, 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