摘 要:對于初步接觸應(yīng)用程序開發(fā)的學生而言,開發(fā)Windows應(yīng)用程序思維方式相對而言是比較抽象的,因而如何開解生動的讓學生理解Windows API函數(shù)的調(diào)用原理,提高其應(yīng)用技能一直是Windows程序設(shè)計課程教學的重點和難點。本文試圖以繪圖工具使用的普遍性和共同規(guī)律性為例,講解Windows API函數(shù)調(diào)用的格式、參數(shù)意義和調(diào)用關(guān)系,以期提高同學們Windows程序設(shè)計和應(yīng)用開發(fā)能力。
關(guān)鍵詞:API函數(shù) 程序設(shè)計 教學法
Windows程序設(shè)計課程是計算機專業(yè)的基礎(chǔ)應(yīng)用實踐課,主要目的是培養(yǎng)學生利用Visual Studio開發(fā)工具開發(fā)基于Windows操作系統(tǒng)的應(yīng)用軟件,要求學生掌握初步的工程實踐設(shè)計與開發(fā)能力。由于該課程將涉及大量的Windows API函數(shù)調(diào)用,函數(shù)格式及各數(shù)據(jù)結(jié)構(gòu)對初學者而言具有重大的挑戰(zhàn)性,因而學生普遍反映學習比較困難。簽此,本文試圖以繪圖工具教學為例找出Windows API函數(shù)應(yīng)用的規(guī)律及關(guān)聯(lián)性,讓學生明白程序設(shè)計的邏輯性,希能為提高Windows 程序設(shè)計教學質(zhì)量提供一種實踐方法。
一、繪圖工具
Windows 繪圖工具畫筆用來繪制直線、曲線和勾勒繪圖對象的形狀輪廓,而畫刷則用于繪圖對象實心形狀或者說填充指定區(qū)域。利用Windows API函數(shù)繪制任何圖形都必須設(shè)置好這種兩種工具,因而準確高效利用畫筆和畫刷工具是Windows GDI繪圖的基礎(chǔ)。實際上畫筆、畫刷與Windows程序設(shè)計中具他工具使用都有其共同的規(guī)律,學生如果能有效掌握畫筆與畫刷的使用,對提高Windows應(yīng)用程序教學質(zhì)量和學生利用Windows平臺開發(fā)應(yīng)用程序能力具有重要的意義。
二、Windows 畫筆畫刷教學
繪圖工具畫筆與畫刷在Windows程序設(shè)計中調(diào)用都遵循共同規(guī)律:創(chuàng)建工具,將工具選入設(shè)備環(huán)境和刪除工具。因而教學過程中始終以此為主線,重點引入學生編程習慣的養(yǎng)成。本文首先以畫筆的教學為主要對象,教學過程中兼顧共同規(guī)律的講述。
創(chuàng)建畫筆首先要定義畫筆句柄,由于Windows句柄相對比較多,學生對于以前所學的句柄知識不一定全部還記得,因而我們對句柄做了一個簡要的復習,主要要求同學們講出HWND、HDC、HINSTANCE等句柄的主要作用。然后本文給出畫筆句柄的定義,如:HPEN hPen; 要求學生掌握畫筆句柄是畫筆調(diào)用的重要標識。其次,本文還要求學生理解句柄與C++語言的int、float、double數(shù)據(jù)類型的區(qū)別與聯(lián)系。有了畫筆句柄后,就是如何創(chuàng)建畫筆,教學應(yīng)總結(jié)兩種畫筆創(chuàng)建方式:調(diào)用系統(tǒng)畫筆和自定義畫筆。調(diào)用系統(tǒng)畫筆使用Widows API函數(shù)GetStockObject,其調(diào)用實例如:hPen=(HPEN)GetStockObject(BLACK_PEN),其中參數(shù)為系統(tǒng)定義好的類型,主要有WHITE_PEN、BLACK_PEN、DC_PEN和NULL_PEN。自定義畫筆主要利用函數(shù)CreatePen,教學過程中主要在畫筆樣式的理解,本文通過實際程序運行實例演示讓同學們生動開解理解其內(nèi)涵。對于畫筆顏色參數(shù)我們主要應(yīng)用RGB宏定義,為了讓學生們理解此顏色參使用,以中學繪畫課程中的三原色來形象講解其原理。畫筆應(yīng)用的第二步是利用SelectObject函數(shù)將畫筆選入設(shè)備環(huán)境,如 hPenOld=SelectObject(hDC,hPen),其中特別要強調(diào)設(shè)備環(huán)境hDC,畫筆句柄hPen的含義。最后,講解如何刪除當前畫筆,兩種形式:用舊畫筆代替原有畫筆如SelectObject(hDC, hPenOld),另一種形式是利用Windows API函數(shù)DeleteObject刪除畫筆。
畫刷使用和畫筆一樣,同樣分三步:創(chuàng)建畫刷,將畫刷選入設(shè)備環(huán)境和刪除畫刷。畫刷須先申明其句柄HBRUSH hBrush,然后才能調(diào)用GetStockObject和CreateSolidBrush、CreateHatchBrush來創(chuàng)建畫刷。對于系統(tǒng)自定義畫刷主要有BLACK_BRUSH黑色畫刷、DKGRAY_BRUSH深灰色畫刷、GRAY_BRUSH灰色畫刷、HOLLOW_BRUSH 虛畫刷、LTGRAY_BRUSH亮灰色畫刷、NULL_BRUSH空畫刷和WHITE_BRUSH白色畫刷。如要自定義具有指定顏色的單色畫刷須使用CreateSolidBrush;如果圖形需要陰影圖案和有顏色的畫刷則要調(diào)用函數(shù)CreateHatchBrush。為了有效讓同學們理解畫刷樣式一繪圖結(jié)果間的關(guān)系,我們也實際運行了簡單的圖形,以理解不同樣式參數(shù)下圖形效果。最后將畫刷選入設(shè)備環(huán)境和刪除畫刷與畫筆應(yīng)用基本一致,主要要求同學們掌握其應(yīng)用的共同特征,對程序設(shè)計中的其他類似問題能舉一反三。
結(jié)語
Windows程序設(shè)計課程涉及大量Windows API函數(shù)調(diào)度,且函數(shù)格式和數(shù)據(jù)結(jié)構(gòu)格式對初學者而言都具有重大的挑戰(zhàn)性,因而學習效果一直不佳。本文針對此問題,以繪圖工具畫筆與畫刷教學為例,探討其應(yīng)用過程及共同規(guī)律性,以提高本課程的實際教學效果。
參考文獻
[1]張月.課程單元教學設(shè)計中的案例設(shè)計——以windows程序設(shè)計及實訓課程教學為例[J].南京廣播電視大學學報,2015(4):41-42.
[2]陳健.windows應(yīng)用程序開發(fā)中若干重要api函數(shù)的調(diào)用[J].吉林師范大學學報:自然科學版,2003(1):86-88.
作者簡介
唐小勇(1973.03—),男,漢族,湖南洞口人,副教授,博士,現(xiàn)就職于湖南農(nóng)業(yè)大學信息科學技術(shù)學院,主要研究方向:計算機教學法、高性能計算。