ui/win32/toolkit.c

changeset 938
be4c88ded783
parent 936
d40a72210be8
child 953
c98404829cd3
equal deleted inserted replaced
937:06e03c7e39db 938:be4c88ded783
127 void ui_show(UiObject *obj) { 127 void ui_show(UiObject *obj) {
128 ui_set_visible(obj->widget, TRUE); 128 ui_set_visible(obj->widget, TRUE);
129 } 129 }
130 130
131 LRESULT CALLBACK ui_default_eventproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { 131 LRESULT CALLBACK ui_default_eventproc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
132 fflush(stdout);
133 W32Widget *widget = (W32Widget*)GetWindowLongPtr(hwnd, GWLP_USERDATA); 132 W32Widget *widget = (W32Widget*)GetWindowLongPtr(hwnd, GWLP_USERDATA);
134 if (widget && widget->wclass->eventproc) { 133 if (widget && widget->wclass->eventproc) {
135 widget->wclass->eventproc(widget, hwnd, uMsg, wParam, lParam); 134 if (widget->wclass->eventproc(widget, hwnd, uMsg, wParam, lParam)) {
135 return 1;
136 }
136 } 137 }
138
137 switch(uMsg) { 139 switch(uMsg) {
138 case WM_DESTROY: { 140 case WM_DESTROY: {
139 PostQuitMessage(0); 141 PostQuitMessage(0);
140 break; 142 break;
141 } 143 }
162 if (widget->layout) { 164 if (widget->layout) {
163 widget->layout(widget->layoutmanager, width, height); 165 widget->layout(widget->layoutmanager, width, height);
164 } 166 }
165 break; 167 break;
166 } 168 }
167 default: return DefWindowProc(hwnd, uMsg, wParam, lParam); 169 default: break;//return DefWindowProc(hwnd, uMsg, wParam, lParam);
168 } 170 }
169 return 0; 171 return DefWindowProc(hwnd, uMsg, wParam, lParam);;
170 } 172 }

mercurial