emwin在第一层页面显示时间
时间: 2023-10-12 14:08:51 浏览: 94
uCGUI图片提取工具.rar_UCGUI模拟图片_emwin_emwin 显示_emwin图片提取_emwin定时器
您可以使用emWin中的时间函数和文本显示函数来在第一层页面上显示时间。以下是一个示例代码:
```c
#include "DIALOG.h"
void _cbDialog(WM_MESSAGE *pMsg) {
switch (pMsg->MsgId) {
case WM_PAINT:
GUI_Clear();
GUI_SetFont(GUI_FONT_32B_1);
GUI_SetColor(GUI_WHITE);
GUI_DispStringAt("Welcome to my app!", 0, 0);
GUI_SetFont(GUI_FONT_24B_1);
GUI_DispStringAt("Current time:", 0, 40);
GUI_DispStringAt(__TIME__, 0, 70); // 显示编译时的时间(字符串)
break;
default:
WM_DefaultProc(pMsg);
break;
}
}
void MainTask(void) {
GUI_Init();
WM_CreateWindowAsChild(0, 0, LCD_GetXSize(), LCD_GetYSize(), WM_HBKWIN, WM_CF_SHOW, _cbDialog, 0);
while (1) {
GUI_Delay(1000); // 每秒更新一次时间
WM_InvalidateWindow(WM_HBKWIN); // 刷新显示
}
}
```
在该代码中,我们在 `_cbDialog()` 函数中使用了 GUI 库的文本显示函数 `GUI_DispStringAt()` 来显示当前时间。使用 `__TIME__` 宏可以获取编译时的时间,也可以使用系统时间函数来获取当前时间。在主任务 `MainTask()` 中使用 `GUI_Delay()` 函数每秒更新一次时间,并使用 `WM_InvalidateWindow()` 函数刷新显示。
阅读全文