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;
		}
	}
}


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
emWin是一款基于C语言开发的用于嵌入式系统的图形用户界面(GUI)库。它由SEGGER公司开发,广泛应用于各种嵌入式系统的图形界面设计与开发中。emWin可以轻松地创建出现代化的用户界面,包括按钮、文本框、图形等各种元素,并且支持触摸屏操作。 emWin的GUI代码主要由一系列的函数调用组成。首先,我们需要初始化emWin库,可以使用GUI_Init()函数完成此操作。然后,我们需要创建一个窗口,可以使用GUI_CreateDialogBox()函数来创建窗口,并在窗口中添加所需的界面元素,例如按钮和文本框。接下来,我们可以设置元素的属性,例如位置、大小、颜色等,这可以通过调用相应的函数,如GUI_SetColor()和GUI_SetTextMode()来实现。 在运行时,我们可以通过调用相应的函数,如GUI_DrawButton()和GUI_DispString()来绘制按钮和文本等元素。如果需要处理用户输入事件,例如点击按钮,我们可以注册回调函数来处理相应的事件。当用户操作界面上的元素时,emWin库将调用相应的回调函数,并提供相应的事件信息,例如按钮的ID和状态。 在使用emWin进行GUI开发时,我们还可以通过调用不同的函数来实现更复杂的功能,例如绘制图形、添加动画效果等。emWin库还提供了一些方便的工具和功能,如字体和位图管理、内存管理等,以简化开发过程并提高性能。 总之,emWin的GUI代码通过一系列的函数调用来创建、设置和处理界面元素,并提供了丰富的功能和工具来方便开发人员进行嵌入式GUI开发。通过合理的使用emWin库,我们可以快速开发出现代化、美观且易于操作的嵌入式系统界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值