comparison win/dw.c @ 267:bf8b907f8a29

Added initial version of updated key_press_event callback.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 03 Mar 2003 19:50:19 +0000
parents 9ea4ac9a097f
children d706e0dbb0cb
comparison
equal deleted inserted replaced
266:5c5bee286d0e 267:bf8b907f8a29
1375 } 1375 }
1376 } 1376 }
1377 break; 1377 break;
1378 case WM_CHAR: 1378 case WM_CHAR:
1379 { 1379 {
1380 int (*keypressfunc)(HWND, int, void *) = tmp->signalfunction; 1380 int (*keypressfunc)(HWND, char, int, int, void *) = tmp->signalfunction;
1381 1381
1382 if(hWnd == tmp->window) 1382 if(hWnd == tmp->window)
1383 { 1383 {
1384 result = keypressfunc(tmp->window, LOWORD(mp2), tmp->data); 1384 int special = 0;
1385
1386 if(GetAsyncKeyState(VK_SHIFT) & 0x8000)
1387 special |= KC_SHIFT;
1388 if(GetAsyncKeyState(VK_CONTROL) & 0x8000)
1389 special |= KC_CTRL;
1390 if(mp2 & (1 << 29))
1391 special |= KC_ALT;
1392
1393 result = keypressfunc(tmp->window, (char)mp1, mp1, special, tmp->data);
1385 tmp = NULL; 1394 tmp = NULL;
1386 } 1395 }
1387 } 1396 }
1388 break; 1397 break;
1389 case WM_CLOSE: 1398 case WM_CLOSE:
1872 switch( msg ) 1881 switch( msg )
1873 { 1882 {
1874 case WM_LBUTTONDOWN: 1883 case WM_LBUTTONDOWN:
1875 case WM_MBUTTONDOWN: 1884 case WM_MBUTTONDOWN:
1876 case WM_RBUTTONDOWN: 1885 case WM_RBUTTONDOWN:
1877 SetActiveWindow(hWnd); 1886 SetFocus(hWnd);
1878 _wndproc(hWnd, msg, mp1, mp2); 1887 _wndproc(hWnd, msg, mp1, mp2);
1879 break; 1888 break;
1880 case WM_LBUTTONUP: 1889 case WM_LBUTTONUP:
1881 case WM_MBUTTONUP: 1890 case WM_MBUTTONUP:
1882 case WM_RBUTTONUP: 1891 case WM_RBUTTONUP:
1883 case WM_MOUSEMOVE: 1892 case WM_MOUSEMOVE:
1884 case WM_PAINT: 1893 case WM_PAINT:
1885 case WM_SIZE: 1894 case WM_SIZE:
1886 case WM_COMMAND: 1895 case WM_COMMAND:
1896 case WM_CHAR:
1887 _wndproc(hWnd, msg, mp1, mp2); 1897 _wndproc(hWnd, msg, mp1, mp2);
1888 break; 1898 break;
1889 } 1899 }
1890 return DefWindowProc(hWnd, msg, mp1, mp2); 1900 return DefWindowProc(hWnd, msg, mp1, mp2);
1891 } 1901 }