ARM的列表框控件的使用
列表框控件的使用
一、實(shí)驗(yàn)?zāi)康?BR>學(xué)習(xí)列表框控件的使用。繼續(xù)學(xué)習(xí)操作系統(tǒng)的文件相關(guān)API 函數(shù),通過(guò)幾個(gè)文件的API
函數(shù),把指定擴(kuò)展名(*.bmp)的位圖文件名顯示在列表框中??梢酝ㄟ^(guò)鍵盤(pán)選擇文件,并
把位圖繪制出來(lái)。
二、實(shí)驗(yàn)內(nèi)容
通過(guò)使用幾個(gè)操作系統(tǒng)中系統(tǒng)文件相關(guān)的API 函數(shù),列出系統(tǒng)的中存儲(chǔ)在海量存儲(chǔ)器
K29F2808U 中的指定擴(kuò)展名的文件(比如:*.bmp 位圖文件)。使用列表框控件,把文件列
出來(lái),同時(shí),可以控制位圖文件的顯示。
三、預(yù)備知識(shí)
1、用ARM SDT 2.5 集成開(kāi)發(fā)環(huán)境,編寫(xiě)和調(diào)試程序的基本過(guò)程。
2、基于操作系統(tǒng)的應(yīng)用程序的框架結(jié)構(gòu)。
3、會(huì)使用Source Insight 3 編輯C 語(yǔ)言源程序
4、操作系統(tǒng)的繪圖API 函數(shù)和繪圖設(shè)備上下文(DC)的使用
四、實(shí)驗(yàn)設(shè)備及工具(包括軟件調(diào)試工具)
硬件:ARM 嵌入式開(kāi)發(fā)板、用于ARM7TDMI 的JTAG 仿真器、PC 機(jī)Pentumn100 以
上
軟件:PC 機(jī)操作系統(tǒng)win98、ARM SDT 2.51 集成開(kāi)發(fā)環(huán)境、仿真器驅(qū)動(dòng)程序、Source
Insight 3.0、超級(jí)終端通訊程序、USB 下載程序
五、實(shí)驗(yàn)步驟
1、在ARM SDT 2.51 中,使用實(shí)驗(yàn)一中創(chuàng)建好的模板,新建一個(gè)項(xiàng)目work1。把操作
系統(tǒng)的所需要的頭文件(*.h)和庫(kù)文件(*.alf)加入工程中。
2、用Source Insight 3 創(chuàng)建一個(gè)工程,把work1 中的C 語(yǔ)言源文件文件加入。
3、進(jìn)入嵌入式開(kāi)發(fā)板的BIOS,向嵌入式開(kāi)發(fā)板中的海量存儲(chǔ)器復(fù)制幾個(gè)24 位真彩色
位圖文件(擴(kuò)展名為Bmp)。
4、打開(kāi)Main.c 文件,在Main_Task 任務(wù)中添加代碼,使系統(tǒng)啟動(dòng)的時(shí)候,創(chuàng)建一個(gè)列
表框。
5、通過(guò)操作系統(tǒng)的文件相關(guān)的API 函數(shù),列出擴(kuò)展名為Bmp 的文件,并添加到上面創(chuàng)
建的列表框中。
6、添加鍵盤(pán)消息響應(yīng)函數(shù),定義按鍵,使列表框的高亮度條可以向上或向下滾動(dòng),按
確定按鈕可以繪制相應(yīng)的圖片。程序的流程圖如圖所示
提示:
⑴ 用CreateListCtrl 函數(shù)創(chuàng)建立列表框
⑵ 使用ListNextFileName 函數(shù)列出當(dāng)前的目錄位置以后的第一個(gè)符合擴(kuò)展名的
文件名,同時(shí),當(dāng)前目錄的位置指針自動(dòng)下移。如果成功則返回TRUE,如果沒(méi)有適合
的文件則返回FALSE。
⑶ 因?yàn)長(zhǎng)istNextFileName 函數(shù)得到的文件名不是Unicode 字符串,所以要通過(guò)
strChar2Unicode 函數(shù)轉(zhuǎn)換成Unicode 字符串,才可以添加到列表框中顯示出來(lái)。同時(shí),
為了以后方便得到文件名字符串的非Unicode 格式,提倡在一個(gè)數(shù)組中記錄
ListNextFileName 返回的char 型字符串,以便以后打開(kāi)相應(yīng)的文件。
⑷ 通過(guò)ListCtrlSelMove 函數(shù)改變列表框的高亮度條的位置。
⑸ 使用ShowBmp 函數(shù)可以顯示指定文件名的真彩色的位圖圖片
7、用ARM SDT 2.5 編譯、下載并調(diào)試上述程序,檢查運(yùn)行結(jié)果
8、生成發(fā)行版本的.bin 文件,通過(guò)USB 下載到嵌入式開(kāi)發(fā)板中,運(yùn)行并檢查輸出結(jié)果。
評(píng)論