emwin文本顯示

    上次看了其他人的教程,直接用GUIBUILDER工具生成界面來仿真,其實也可以直接用代碼來製作那些東西的,用那個工具的話更容易,這文本顯示可以說和上面沒有多大關係,像是從頭來過的。就和我們寫main函數一樣寫就好了,之前我花了太多時間去找怎麼學習那個圖形編程關於怎麼切換的,一步一步來,那些可以先不用找
    第一步:我們還是打開那個DEMO例程,主界面還是那樣的,我們就改Maintask函數裏的內容就好,如:

在這裏插入圖片描述
關於文本顯示,我們就直接調用庫裏面的函數就好了,我調用了一個emwin_textst函數,這個函數呢,自己寫的。先新建一個C文件,然後添加進工程,放在Application那個文件夾下面。需要頭文件GUI_DEMO.H
在這裏插入圖片描述
比如我們需要在那個界面裏寫一個hello world,就直接調用API函數,GUI_DispString(“HELLO WORD!”);效果如圖:
在這裏插入圖片描述
關於文本顯示,裏面還有很多API函數,可以看API函數手冊,上面有具體說明。要做複雜一點,就自己去調用更多函數寫一些文本,還有畫線什麼的都可以,很是強大。
這是手冊裏的例程代碼:

	GUI_DispString("HELLO WORD!");
	int i;
	char acText[] = "This example demostrates text wrapping";					//定義字符串
	GUI_RECT Rect = { 200, 240, 259, 299 };													//定義矩形顯示區域
	GUI_WRAPMODE  aWm[] = { GUI_WRAPMODE_NONE,GUI_WRAPMODE_CHAR,GUI_WRAPMODE_WORD };
	//一個數組,GUI_DispStringInRectWrap這個函數裏,創立的顯示框框內的字符排列方式 
	GUI_SetBkColor(GUI_BLUE);		//設置背景顏色
	GUI_Clear();					//清屏
	GUI_SetFont(&GUI_Font24_ASCII); //設置字體
	GUI_SetColor(GUI_YELLOW);       //設置前景色(如文本,畫線等顏色)
	GUI_DispString("HELLO WORD!");

	GUI_SetFont(&GUI_Font8x16);		//設置字體
	GUI_SetPenSize(10);				//設置筆大小
	GUI_SetColor(GUI_RED);			//紅色字體

	GUI_SetBkColor(GUI_BLACK);		//設置黑色背景
	GUI_SetColor(GUI_WHITE);		//設置字體顏色爲白色
	GUI_SetTextMode(GUI_TM_NORMAL);	//正常模式
	GUI_DispStringHCenterAt("GUI_TM_NORMAL", 400, 50);		//字符串,橫座標,縱座標,以下一樣
	GUI_SetTextMode(GUI_TM_REV);	//反轉文本
	GUI_DispStringHCenterAt("GUI_TM_REV", 400, 66);
	GUI_SetTextMode(GUI_TM_TRANS);	//透明文本
	GUI_DispStringHCenterAt("GUI_TM_TRANS", 400, 82);
		for (i = 0; i<3; i++)
		{
			GUI_SetColor(GUI_WHITE);
			GUI_FillRectEx(&Rect);
			GUI_SetColor(GUI_BLACK);
			GUI_DispStringInRectWrap(acText, &Rect, GUI_TA_LEFT, aWm[i]);//在當前窗口指定的矩形區域內顯示字符串(並可自動換行)
			Rect.x0 += 70;
			Rect.x1 += 70;
		}

顯示效果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章