国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用VBA實現(xiàn)PowerPoint課件的規(guī)則圖形圈點

2010-08-15 00:51:49李旭東
中國現(xiàn)代教育裝備 2010年9期
關(guān)鍵詞:圈點窗體鼠標

李旭東

浙江財經(jīng)學院 浙江杭州 310018

利用VBA實現(xiàn)PowerPoint課件的規(guī)則圖形圈點

李旭東

浙江財經(jīng)學院 浙江杭州 310018

教師在利用PowerPoint教學課件進行講課時,經(jīng)常會用到PowerPoint的圈點功能。但是,PowerPoint的圈點功能存在較大的局限和不足,繪圖筆沒有提供如直線、方框、圓圈、橢圓等規(guī)則的圈點圖形,而只提供了涂鴉式畫線的功能。為此,本文利用VBA編程實現(xiàn)了PowerPoint教學課件的規(guī)則圖形圈點,彌補了PowerPoint只能進行涂鴉式畫線圈點的不足。PowerPoint教學課件規(guī)則圖形圈點的實現(xiàn),將能較大地提高教師多媒體教學的工作效率和學生聽課的效果,從而有助于提高教學質(zhì)量。

教學課件;PowerPoint;圈點;規(guī)則圖形;VBA

隨著計算機多媒體技術(shù)、教育信息技術(shù)的發(fā)展與普及,計算機輔助多媒體教學已深入越來越多學校的教學體系。其中,多媒體教學課件是實現(xiàn)計算機輔助多媒體教學的關(guān)鍵。PowerPoint因簡單易學、可利用的資源豐富、課件制作和開發(fā)周期短等,使得由其制作和開發(fā)出的演示型課件成為當前最為常見的一類多媒體教學課件。

教師在利用PowerPoint教學課件進行講課時,為了更好地引導學生觀看課件、使之跟隨教師的教學思路和講解內(nèi)容,或為了著重指出課件中的某個事物,往往會使用PowerPoint的圈點功能,即用鍵盤鍵入Ctrl+P或用鼠標點擊相應的菜單調(diào)出繪圖筆,在課件相應的對象下劃線或畫圓圈、橢圓等圈住該對象。PowerPoint的這一圈點功能,對采用PowerPoint課件進行課堂教學的教師來說簡直就是如虎添翼,當然也提高了教師的工作效率和教學質(zhì)量。

但是,PowerPoint的圈點功能有一個較大的局限和不足:繪圖筆沒有提供如直線、方框、圓圈、橢圓等規(guī)則的圈點圖形,而只提供了涂鴉式畫線的功能。而學校多媒體教室一般都沒有配置如手寫輸入筆、觸摸屏等輸入設備,使得PowerPoint課件的圈點往往只能使用鼠標來實現(xiàn)。但使用鼠標,教師一般很難把線畫直、把圈畫圓。因此,在PowerPoint課件中能用規(guī)則的圖形(直線、方框、圓圈、橢圓等)進行圈點,成為了教師追求的一大目標。

慶幸的是,雖然PowerPoint沒有提供規(guī)則圖形的圈點功能,但是PowerPoint還有內(nèi)置的VBA編程語言及其相應的開發(fā)工具,可以彌補PowerPoint的這一不足,實現(xiàn)教學課件的規(guī)則圖形圈點。

一、規(guī)則圖形圈點的需求分析與總體設計

1.規(guī)則圈點圖形的類型

根據(jù)實際多媒體課件教學的圈點需求,直線、方框、橢圓是必須的最基本的圖形。

水平的直線和垂直的直線可分別用高度為0和寬度為0的方框來繪制出,這樣,就可以克服直接用直線較難精確繪制水平直線和垂直直線的不足。此外,長軸和短軸的長度相等的特殊橢圓就是一個圓,因此,圓就不需要單獨作為一種圖形了。

2.圖形線條的顏色

為加強圈點的效果,根據(jù)PowerPoint教學課件里的文字、圖像、公式等內(nèi)容設置的顏色,我們需要設置相應的圈點圖形的顏色,即需要有紅、黃、藍、綠、青、紫等多種常見顏色供選擇。

3.圖形線條的寬度

同顏色一樣,圈點圖形線條寬度的靈活設置也可加強圈點的效果,比如,對小的文字設置細線條,對大的文字設置粗線條等。因此,需要提供不同寬度大小的線條供選擇。

二、規(guī)則圖形圈點的詳細設計與VBA實現(xiàn)

本文設計與實現(xiàn)PowerPoint課件規(guī)則圖形圈點的基本思想是:用一個最大化的無標題欄、透明的VBA窗體完全覆蓋PowerPoint課件,然后在這個透明窗體對應于PowerPoint課件待圈點的位置上繪制規(guī)則圖形。這樣,在效果上就如同直接在PowerPoint課件上進行規(guī)則圖形圈點一樣。這個透明的VBA窗體,我們稱之為“圈點窗體”。

1.圈點窗體的設置

PowerPoint VBA的窗體不同于VB窗體,其為Microsoft Forms 2.0的窗體,因此其在功能上比較弱,也就是說,相應的屬性、方法和事件較少。這樣,一些在VB窗體中只要設置一下屬性或調(diào)用一個方法就能實現(xiàn)的功能,在VBA窗體中卻需要調(diào)用API函數(shù)才能實現(xiàn)。

(1)圈點窗體的無標題欄設置

VBA窗體默認是有標題欄的,并且無法通過設置屬性或調(diào)用方法來改變。因此,將圈點窗體設置為無標題欄需要通過調(diào)用API函數(shù)來實現(xiàn)。詳細實現(xiàn)方法和VBA代碼可參見文獻[1]。

(2)圈點窗體的透明設置

VBA窗體沒有專門用于設置窗體透明性的屬性或方法。這樣,將圈點窗體設置為透明需要通過其他方式來實現(xiàn)。其實現(xiàn)的思想和方法是:將當前屏幕顯示的教學課件通過屏幕硬拷貝的方式保存到剪貼板,然后將剪貼板中的數(shù)據(jù)轉(zhuǎn)換為圖像格式并設置為圈點窗體Picture屬性的數(shù)據(jù)。這樣,圈點窗體顯示出的就是教學課件的內(nèi)容,就如同窗體是透明的一樣。

由于VBA沒有提供屏幕硬拷貝函數(shù)、剪貼板對象和圖像格式轉(zhuǎn)換函數(shù),因而這些就需要通過調(diào)用API函數(shù)來實現(xiàn)。這3項的詳細實現(xiàn)方法和VBA代碼可分別參見文獻[2]、[3]和[4]。

(3)圈點窗體的最大化

圈點窗體需要在啟動時最大化以使窗體能完全覆蓋PowerPoint課件,而VBA窗體沒有專門用于設置窗體啟動狀態(tài)的屬性或方法,因此同樣需要通過調(diào)用API函數(shù)來實現(xiàn)。所用到的API函數(shù)為ShowWindow,于是,將圈點窗體最大化可通過在VBA宏啟動的主程序Main代碼中的Load usrfrm之后加入如下代碼實現(xiàn):

ShowWindow usrfrm.hWnd, 3

2.圈點圖形的繪制

(1)相關(guān)的API函數(shù)

最大化的無標題欄、透明的圈點窗體完全覆蓋PowerPoint課件后,就可以開始進行規(guī)則圈點圖形的繪制。遺憾的是,VBA窗體沒有提供進行圖形繪制的方法,需要通過調(diào)用API函數(shù)來實現(xiàn)圈點圖形的繪制。涉及到的相關(guān)API函數(shù)有GetDC、GetCursorPos、M o v e T o E x、L i n e T o、E l l i p s e、S e t R O P2、CreatePen、GetStockObject、SelectObject和DeleteObject。這些API函數(shù)詳細的聲明格式和調(diào)用方法可參見文獻[5]。

(2)圈點圖形的繪制函數(shù)

直線和方框的繪制,均可利用API函數(shù)MoveToEx和LineTo的組合來實現(xiàn);橢圓的繪制,則可直接調(diào)用API函數(shù)Ellipse來實現(xiàn)。

(3)圈點圖形的繪制過程

圈點圖形的繪制,是基于窗體的MouseDown、MouseMove和MouseUp事件實現(xiàn)的。其實現(xiàn)的思想和方法是:在點下鼠標觸發(fā)的窗體MouseDown事件中獲取當前鼠標的屏幕坐標位置作為起始點,然后不松開鼠標進行移動觸發(fā)的窗體MouseMove事件中獲取當前鼠標的屏幕坐標位置作為中間點,最后松開鼠標觸發(fā)的窗體MouseUp事件中獲取當前鼠標的屏幕坐標位置作為終止點;起始點與中間點確定的圖形為臨時圖形,其采用XOR(異或)模式繪制在有背景圖像的圈點窗體上,再一次以XOR模式繪制同一個圖形即可消除該圖形而不影響背景;起始點與終止點確定的圖形為最終繪制出的圈點圖形。

3.圈點圖形的類型切換

根據(jù)圈點的需求,直線、方框和橢圓這3種類型的圈點圖形必須能方便地進行相互切換。為操作上的便捷性,采用快捷鍵方式進行相互切換。其實現(xiàn)方法是,以切換至直線為例,設其快捷鍵為Ctrl+F1,在圈點窗體的KeyDown事件中加入如下代碼:

If Shift = 2 And KeyCode = vbKeyF1

ShapeStyle = "Line"

End If

其中,變量ShapeStyle存儲當前圈點圖形的類型。同理,可實現(xiàn)切換圈點圖形至方框或橢圓。

4.圈點圖形的顏色設置

圈點圖形的顏色設置在進行圈點時起到非常重要的作用,因此需要設置圈點圖形的顏色為紅、黃、藍、綠、青或紫等常見顏色。同樣的,為操作上的便捷性,采用快捷鍵方式進行顏色設置。其實現(xiàn)方法是,以設置紅色為例,設其快捷鍵為Ctrl+R,則在圈點窗體的KeyDown事件中加入如下代碼:

If Shift = 2 And KeyCode = vbKeyR

DrawColor = vbRed

End If

其中,DrawColor存儲當前圈點圖形的顏色。同理,可實現(xiàn)設置圈點圖形的顏色為其他常見顏色。

5.圈點圖形的寬度設置

圈點圖形的寬度設置在進行圈點時必不可少,根據(jù)實際多媒體教學中對圈點的需求,一般需要設置圈點圖形的寬度為不同大小的值。同樣的,為操作上的便捷性,采用快捷鍵方式進行寬度設置。其實現(xiàn)方法是,以設置寬度是1為例,設其快捷鍵為Ctrl+1,則在圈點窗體的KeyDown事件中加入如下代碼:

If Shift = 2 And KeyCode = vbKey1

DrawWidth = 1

End If

其中,DrawWidth存儲當前圈點圖形的寬度。同理,可實現(xiàn)設置圈點圖形的寬度為其他值。

6.規(guī)則圖形圈點的啟用與終止

在PowerPoint教學課件中啟用VBA實現(xiàn)的規(guī)則圖形圈點是要以宏的形式啟用的。因此需要在PowerPoint頁面適當?shù)牡胤椒胖靡粋€圖形按鈕,并將圖形按鈕對應“動作設置”中的“運行宏”設置為主程序“Main”。這樣,當演示PowerPoint教學課件并需要進行規(guī)則圖形圈點時,點擊這個圖形按鈕就開始啟用規(guī)則圖形圈點功能了。

圈點窗體的關(guān)閉事實上就意味著VBA宏的終止,也就是規(guī)則圖形圈點的終止。實現(xiàn)圈點窗體的關(guān)閉,只需要在圈點窗體的DblClick事件中加入代碼:

Unload Me

也就是說,鼠標雙擊就可以終止規(guī)則圖形圈點,返回到PowerPoint教學課件的正常演示。

三、結(jié)束語

本文利用VBA編程實現(xiàn)了PowerPoint教學課件的規(guī)則圖形圈點,彌補了PowerPoint只能進行涂鴉式畫線圈點的不足。PowerPoint教學課件規(guī)則圖形圈點的實現(xiàn),將能較好地提高教師多媒體教學的工作效率和學生聽課的效果,從而提高教學質(zhì)量。

[1]李政,梁海英,李昊,等.VBA應用基礎(chǔ)與實例教程(第2版)[M].北京:國防工業(yè)出版社,2009

[2]How to do a screen capture using VBA [EB/OL].

http://word.mvps.org/FAQS/MacrosVBA/ PrtSc.htm

[3]閑來無事,說說Windows剪貼板[EB/OL]. http://www. officefans.net/cdb/viewthread.php?tid=103805

[4]利用VB捕捉并保存屏幕圖像[EB/OL].http://www. qqread.com/vb/k234472.html

[5]冉林倉.Windows API編程[M].北京:清華大學出版社,2005

Realization of punctuating PowerPoint courseware with regular graphics using VBA

Li Xudong
Zhejiang university of finance & economics, Hangzhou, 310018, China

Teachers often use the punctuation function of PowerPoint when teaching with PowerPoint teach ing courseware. However, there is a big limitation and shortage of the punctuation function of PowerPoint: the drawing pen of PowerPoint provides no line, rectangle, circle and ellipse but provides doodling function. For this reason, this paper realized punctuation of PowerPoint courseware with regular graphics using VBA, which made up the shortage of PowerPoint that only provides doodling function. The realization of punctuating PowerPoint courseware with regular graphics will well improve the working effect of multimedia teaching of teachers and the listening effect of students and therefore improve the teaching quality.

teaching courseware; PowerPoint; punctuation; regular graphics; VBA

book=34,ebook=679

2010-01-04

李旭東,博士,副教授。

猜你喜歡
圈點窗體鼠標
Progress in Neural NLP: Modeling, Learning, and Reasoning
Engineering(2020年3期)2020-09-14 03:42:00
試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應用
檔案天地(2019年5期)2019-06-12 05:12:02
黃侃讀書
愛你(2016年12期)2016-11-26 03:33:24
笛卡爾乘積圖的圈點連通度
社交媒體受眾點贊行為的經(jīng)濟效益——以微信朋友圈點贊為例
新聞傳播(2016年4期)2016-07-18 10:59:20
基于LayeredWindow的異形窗體局部刷新
中文信息(2014年2期)2014-03-06 23:49:14
巧設WPS窗體控件讓表格填寫更規(guī)范
45歲的鼠標
少年科學(2009年1期)2009-01-20 03:25:10
超能力鼠標
IM家庭電子(2008年11期)2008-12-05 09:49:20
WinCE.net下圖形用戶界面的開發(fā)
古浪县| 兴海县| 会泽县| 清远市| 黄浦区| 濉溪县| 岗巴县| 聊城市| 裕民县| 河南省| 波密县| 旅游| 竹山县| 东安县| 上饶县| 石城县| 德清县| 丰台区| 杭锦旗| 浑源县| 买车| 芮城县| 六盘水市| 孟州市| 沛县| 瓮安县| 昆山市| 子洲县| 合江县| 平陆县| 来凤县| 马龙县| 右玉县| 南丰县| 江口县| 盈江县| 安康市| 宜川县| 旺苍县| 梅州市| 肇源县|