⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.c

📁 brew开发的基础按键信息处理对刚学的人应该有所帮助
💻 C
字号:
			/*===========================================================================

			FILE: key.c
			===========================================================================*/


			/*===============================================================================
			INCLUDES AND VARIABLE DEFINITIONS
			=============================================================================== */
			#include "AEEModGen.h"          // Module interface definitions
			#include "AEEAppGen.h"          // Applet interface definitions
			#include "AEEShell.h"           // Shell interface definitions

			#include "key.bid"

#include "AEEImage.h"

			#ifndef Max 
			#define Max( x, y ) ( ((x) > (y)) ? (x) : (y) ) 
			#endif 
			#ifndef Min 
			#define Min( x, y ) ( ((x) < (y)) ? (x) : (y) ) 
			#endif 
			typedef struct _CKeyApp 
			{ 
			AEEApplet a; // Mandatory first AEEApplet data member 
			int x; 
			int y; 
			int cxScreen; 
			int cyScreen; 
			}CKeyApp; 
			static boolean keymove_HandleEvent(AEEApplet * pi, AEEEvent eCode, 
			uint16 wParam, uint32 dwParam); 
			int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj) 
			{ 
			*ppObj = NULL; 
			if(ClsId == AEECLSID_KEY){ 
			if(AEEApplet_New(sizeof(CKeyApp), ClsId, pIShell,po,(IApplet**)ppObj, 
			(AEEHANDLER)keymove_HandleEvent,NULL) 
			== TRUE) 
			{ 
			// Add your code here ..... 
			return (AEE_SUCCESS); 
			} 
			} 
			return (EFAILED); 
			} 
			static boolean keymove_HandleEvent(AEEApplet * pMe, AEEEvent eCode, uint16 wParam, uint32 
			dwParam)
			{
			CKeyApp *pApp = (CKeyApp *)pMe;
			AEERect rc;
			AEEDeviceInfo deviceInfo;
			static IImage * image = NULL;
			switch (eCode)
			{
			case EVT_APP_START:

			ISHELL_GetDeviceInfo(pApp->a.m_pIShell, &deviceInfo);
			pApp->x = (deviceInfo.cxScreen - 4)/2;
			pApp->y = (deviceInfo.cyScreen - 4)/2;
			pApp->cxScreen = deviceInfo.cxScreen;
			pApp->cyScreen = deviceInfo.cyScreen;
			SETAEERECT(&rc,0,0,200,200);
			IDISPLAY_DrawRect(pApp->a.m_pIDisplay,&rc,0xffff0000,0x00ff0000,IDF_RECT_FILL); 
			image = ISHELL_LoadImage(pMe->m_pIShell,"bg16.bmp");
			if (image) 
			{ 
				IIMAGE_Draw(image,20,20);
				
				IIMAGE_Release(image); 
			} 
			IDISPLAY_Update(pMe->m_pIDisplay);
			return(TRUE);
			case EVT_KEY_PRESS:
			SETAEERECT(&rc,pApp->x,pApp->y,4,4); 
			IDISPLAY_DrawRect(pApp->a.m_pIDisplay,&rc,0xffffff00,0xffffff00,IDF_RECT_FILL); 
			switch(wParam) 
			{ 
			case AVK_UP:
			pApp->y -=4;
			break;
			case AVK_DOWN:
			pApp->y +=4;
			break;
			case AVK_LEFT:
			pApp->x -=4;
			break;
			case AVK_RIGHT:
			pApp->x +=4;
			break;
			default:
			return FALSE;
			}
			pApp->x = Max(0, Min(pApp->x, pApp->cxScreen - 4));
			pApp->y = Max(0, Min(pApp->y, pApp->cyScreen - 4));
			SETAEERECT(&rc,pApp->x,pApp->y,4,4);
			IDISPLAY_DrawRect(pApp->a.m_pIDisplay,&rc,0xff000000,0x00bb0000,IDF_RECT_FILL); 
			IDISPLAY_Update (pApp->a.m_pIDisplay); 

			return TRUE; 
			case EVT_APP_STOP: 
			return TRUE;
			default:
			break;
			} 
			return FALSE;
			} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -