Ejemplo n.º 1
0
static void OnKeyboardEvent(LCUI_SysEvent e, void *arg)
{
	if (e->type == LCUI_KEYDOWN) {
		LCUIKeyboard_HitKey(e->key.code);
	} else if (e->type == LCUI_KEYUP) {
		LCUIKeyboard_ReleaseKey(e->key.code);
	}
}
Ejemplo n.º 2
0
Archivo: win32.c Proyecto: yydaor/LCUI
static LRESULT CALLBACK 
Win32_LCUI_WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
	PAINTSTRUCT ps;
	LCUI_Rect area;

	switch (message) {
	case WM_KEYDOWN:
		printf("WM_KEYDOWN: %ld\n",wParam);
		LCUIKeyboard_HitKey( wParam );
		return 0;
	case WM_KEYUP:
		printf("WM_KEYUP: %ld\n",wParam);
		LCUIKeyboard_FreeKey( wParam );
		return 0;
	case WM_RBUTTONDOWN:
		Win32_LCUIMouse_ButtonDown( LCUIKEY_RIGHTBUTTON );
		return 0;
	case WM_RBUTTONUP:
		Win32_LCUIMouse_ButtonUp( LCUIKEY_RIGHTBUTTON );
		return 0;
	case WM_LBUTTONDOWN:
		//_DEBUG_MSG("left button down\n");
		Win32_LCUIMouse_ButtonDown( LCUIKEY_LEFTBUTTON );
		return 0;
	case WM_LBUTTONUP:
		//_DEBUG_MSG("left button up\n");
		Win32_LCUIMouse_ButtonUp( LCUIKEY_LEFTBUTTON );
		return 0;
	case WM_PAINT:
		DEBUG_MSG("WM_PAINT\n");
		BeginPaint( hwnd, &ps );
		/* 获取区域坐标及尺寸 */
		area.x = ps.rcPaint.left;
		area.y = ps.rcPaint.top;
		area.width = ps.rcPaint.right - area.x;
		area.height = ps.rcPaint.bottom - area.y;
		LCUIScreen_InvalidArea( area );
		EndPaint( hwnd, &ps );
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		LCUI_Quit();
		return 0;
	default:break;
	}
	return DefWindowProc (hwnd, message, wParam, lParam) ;
}