參考資訊:
https://github.com/piyushpandey013/ucGUI
https://github.com/yongzhena/ucgui-linux
main.c
#include "GUI.h" #include "MULTIPAGE.h" static void WndProc(WM_MESSAGE* pMsg) { GUI_RECT rt = { 0 }; switch (pMsg->MsgId) { case WM_PAINT: WM_GetInsideRect(&rt); GUI_SetBkColor(GUI_RED); GUI_ClearRectEx(&rt); break; default: WM_DefaultProc(pMsg); } } int main(int argc, char *argv[]) { WM_HWIN hWin = 0; MULTIPAGE_Handle hMulti = 0; GUI_Init(); GUI_SetBkColor(GUI_GRAY); GUI_Clear(); hMulti = MULTIPAGE_Create(10, 10, 200, 200, 0, 100, WM_CF_SHOW, 0); hWin = WM_CreateWindow(0, 0, 200, 200, WM_CF_SHOW | WM_CF_MEMDEV, WndProc, 0); MULTIPAGE_AddPage(hMulti, hWin, "Test1"); MULTIPAGE_AddPage(hMulti, hWin, "Test2"); MULTIPAGE_SetFont(hMulti, &GUI_Font8x16); MULTIPAGE_SetTextColor(hMulti, 0, GUI_BLUE); MULTIPAGE_SelectPage(hMulti, 0); GUI_Delay(3000); return 0; }
編譯、執行
$ gcc main.c -o main libucgui.a -IGUI_X -IGUI/Core -IGUI/Widget -IGUI/WM -lSDL $ ./main