emWin - BUTTO按钮

这次说一个的emWin的BUTTON按钮控件,来看一下效果图:

效果就是创建了五个按钮按钮,并判断是按下的那个按钮的例程。废话不多说,很简单,直接上代码,不罗嗦。

//#include "GUI.h"
#include "BUTTON.h"
#define BUTTON_ID_UP           1
#define BUTTON_ID_DOWN     2
#define BUTTON_ID_LEFT       3
#define BUTTON_ID_RIGHT    4
#define BUTTON_ID_OK           5

#define RECOMMENDED_MEMORY (1024L * 5)

void MainTask(void) {
	GUI_Init();
	//
	// Check if recommended memory for the sample is available
	//
	if (GUI_ALLOC_GetNumFreeBytes() < RECOMMENDED_MEMORY) {
		GUI_ErrorOut("Not enough memory available.");
		return;
	}
	GUI_SetBkColor(GUI_BLACK);
	GUI_Clear();
	GUI_SetColor(GUI_WHITE);

	BUTTON_Handle KEY_VALUE_UP;
	BUTTON_Handle KEY_VALUE_DOWN;
	BUTTON_Handle KEY_VALUE_LEFT;
	BUTTON_Handle KEY_VALUE_RIGHT;
	BUTTON_Handle KEY_VALUE_OK;

	GUI_SetFont(&GUI_Font8x16);
	//
	// Create the button and set text
	//
	KEY_VALUE_UP = BUTTON_Create(80, 20, 40, 40, BUTTON_ID_UP, WM_CF_SHOW);
	KEY_VALUE_DOWN = BUTTON_Create(80, 140, 40, 40, BUTTON_ID_DOWN, WM_CF_SHOW);
	KEY_VALUE_LEFT = BUTTON_Create(20, 80, 40, 40, BUTTON_ID_LEFT, WM_CF_SHOW);
	KEY_VALUE_RIGHT = BUTTON_Create(140, 80, 40, 40, BUTTON_ID_RIGHT, WM_CF_SHOW);
	KEY_VALUE_OK = BUTTON_Create(80, 80, 40, 40, BUTTON_ID_OK, WM_CF_SHOW);

	BUTTON_SetText(KEY_VALUE_UP, "UP");
	BUTTON_SetText(KEY_VALUE_DOWN, "DOWN");
	BUTTON_SetText(KEY_VALUE_LEFT, "LEFT");
	BUTTON_SetText(KEY_VALUE_RIGHT, "RIGHT");
	BUTTON_SetText(KEY_VALUE_OK, "OK");
	while (1) {
		switch (GUI_WaitKey())
		{
		case BUTTON_ID_UP:
			GUI_DispStringAtCEOL("Up button press", 40, 200);
			break;
		case BUTTON_ID_DOWN:
			GUI_DispStringAtCEOL("Down button press", 40, 200);
			break; 
		case BUTTON_ID_LEFT:
			GUI_DispStringAtCEOL("Left button press", 40, 200);
			break; 
		case BUTTON_ID_RIGHT:
			GUI_DispStringAtCEOL("Right button press", 40, 200);
			break; 
		case BUTTON_ID_OK:
			GUI_DispStringAtCEOL("OK button press", 40, 200);
				break;
		default:
			break;
		}
	}
}


猜你喜欢

转载自blog.csdn.net/DZRYWYBL/article/details/81144336
今日推荐