1. 程式人生 > >emWin 2天速成實例教程003_Framewin和Window窗口控件和2D繪圖

emWin 2天速成實例教程003_Framewin和Window窗口控件和2D繪圖

emwin framewin window 控件 窗體

備註:(1)打開工程目錄下的"Exe\GUISimulationDebug.exe"即可看到效果。(2)看完教程000~005就基本會用emWin做項目,其他章節可以需要時再參考。

(1) emWin的每個界面都需要一個Framewin/Window窗口控件作為父窗體,就好像Framewin/Window是一個窗體框架,所有控件都放置在這個框架當中,組成父窗體和子控件的連帶關系,可以通過父窗體找到子控件,也可以通過子控件找到它的父窗體,Framewin和Window在外觀上是有區別的:
技術分享圖片
技術分享圖片

(2)Window窗口控件使用比較簡單,就好像一個背景一樣,也沒有所謂的Client區的概念;這裏重點說明Framewin窗口控件的使用方法:
技術分享圖片
上圖Framewin窗口控件中綠色部分是Client區域即客戶區,以下是emwin說明書關於Framewin及其Client區的說明:
The frame window actually consists of 2 windows;the main window and a child window.The child window is called Client window. Itis important to be aware of this when dealing with callback functions: Thereare 2 windows with 2 different callback functions. When creating child windows,these child windows are typically created as children of the client window;their parent is therefor the client window.
Framewin窗口控件實際上包含2個窗口:主窗口和子窗口,子窗口稱為Client窗口,在處理回調函數時理解主窗口和Client窗口的概念是很重要的:兩個窗口可以對應兩個不同的回調函數;當創建例如按鍵、編輯框等控件時,這些控件是作為Client窗口的子控件包含在Client窗口中的,因此這些控件的父窗口是Client窗口而非主窗口。


(3)背景圖片顯示,用BmpCvt.exe工具(在Tool目錄下)將BMP圖片轉成C文件,然後將此C文件加入emWin工程,並在WM_PAINT窗口重繪消息中用GUI_DrawBitmap()函數顯示圖片即可:
如果是STM32平臺,圖片數據存到哪裏?怎樣讀取圖片數據?儲存數據可以考慮NAND-FLASH、SPI-FLASH、NOR-FLASH等等...,至於怎樣讀取圖片數據,這是emWin驅動程序的事情,在這裏我們只說怎樣做emWin的界面應用程序而已。
技術分享圖片技術分享圖片
技術分享圖片


源碼/軟件下載

emWin 2天速成實例教程003_Framewin和Window窗口控件和2D繪圖