資源描述:
《VB實(shí)例(含代碼和窗體)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、VB實(shí)例第一天、使用VB收發(fā)電子郵件 大叔:我說LOLI呀,既然你已經(jīng)學(xué)習(xí)過VB的基礎(chǔ)知識(shí),也做過一些簡(jiǎn)單的程序,那么我也就不浪費(fèi)口水教你認(rèn)識(shí)界面、了解控件和學(xué)習(xí)語法了。不如我來教教你怎么樣制作出一些切實(shí)可用的程序,這樣既能夠加深對(duì)VB的認(rèn)識(shí),還可以讓你擁有十足的成就感呢! LOLI:好呀,那做一些什么程序呢? 大叔:當(dāng)然不會(huì)像我哥哥當(dāng)年那樣簡(jiǎn)單至極的程序,而是一些具有實(shí)用性的程序,也可以做一個(gè)小游戲之類的,你看怎么樣? LOLI:好的,不過今天別教我做游戲,不然明天就沒有心思學(xué)了?! 〈笫澹哼@個(gè)我自然知道,那我們就開始動(dòng)手制作一個(gè)收發(fā)電子郵件的程序吧?! OLI
2、:收發(fā)電子郵件?這個(gè)會(huì)不會(huì)很難呢? 大叔:正所謂會(huì)者不難,難者不會(huì),有我這位名師指點(diǎn),你還怕什么呢?開始動(dòng)手吧! 一、準(zhǔn)備工作 大叔:在VB中編寫電子郵件程序需要通過調(diào)用微軟公司的MAPI(MessagingApplicationProgrammingInterface,消息應(yīng)用程序編程接口),這需要借助兩個(gè)實(shí)現(xiàn)電子郵件收發(fā)功能的核心控件:MAPI會(huì)話控件和MAPI消息控件。MAPI會(huì)話控件用于建立和控制一個(gè)MicrosoftMail會(huì)話,MAPI消息控件用于創(chuàng)建和收發(fā)郵件消息。此外,Windows系統(tǒng)中必須要有遵從MAPI的郵件系統(tǒng),比如Exchange、Outlo
3、ok等軟件,而還要進(jìn)行一番設(shè)置,確保郵件系統(tǒng)可以正常使用。 LOLI:呵呵,沒關(guān)系,我用的就是Outlook,正好符合要求。不過你說的MAPI控件在哪里找呢? 大叔:在VB中就有現(xiàn)成的,不過程序沒有直接放置在工具箱里,需要我們自己將MAPI控件加入VB工具箱。首先直接在VB左邊的控件欄中右擊鼠標(biāo),并在彈出菜單中選擇“部件”命令,這時(shí)可以激活部件設(shè)置窗口,在其中的“控件”列表框中選取“MicrosoftMAPIControls”一項(xiàng)(如圖1所示),接著按下“確定”按鈕之后可以發(fā)現(xiàn)工具箱中將多出了兩個(gè)圖標(biāo),這就是MAPI會(huì)話控件和MAPI消息控件的圖標(biāo)(如圖2所示)。圖一圖
4、二 二、郵件發(fā)送程序 大叔:添加好我們所需要的控件之后,就開始定制郵件的發(fā)送程序吧。這個(gè)郵件發(fā)送程序的基本處理過程是:根據(jù)用戶輸入信息組成郵件,然后使用MAPI消息控件的Send方法將郵件發(fā)出。具體的方法按照下述步驟完成: 1、新建一個(gè)VB項(xiàng)目,并將缺省窗體Form1的Caption屬性設(shè)置為“發(fā)送郵件”?!?、在Form1中加入一個(gè)MAPI會(huì)話控件MAPISession1和一個(gè)MAPI消息控件MAPIMessages1?! ?、在Form1中加入三個(gè)TextBox控件,將它們的名稱屬性分別設(shè)置為“txtSendTo”、“txtSubject”和“txtMessage
5、”,另外還要將txtMessage的Multiline屬性設(shè)置為“True”。這三個(gè)TextBox控件將分別用于填寫郵件的收件人地址、郵件主題和郵件正文?! ?、在Form1中加入三個(gè)Label控件,將它們的Caption屬性分別設(shè)置為“收件人”、“主題”和“內(nèi)容”,并將它們放在合適的位置用以標(biāo)注相應(yīng)的TextBox控件。 5、在Form1中加入一個(gè)CommandButton控件,將其Caption屬性和名稱屬性分別設(shè)置為“發(fā)送”和“Send”?! ∷械目丶砑油戤呏髴?yīng)該如圖3所示。圖三 LOLI:還挺像這么回事的呢,接著應(yīng)該填寫代碼了吧?! 〈笫澹菏茄?,下面就是代
6、碼部分的內(nèi)容: 1、將下列代碼加入Form1的Form_Load事件: PrivateSubForm_Load() MAPISession1.SignOn /運(yùn)行程序之后進(jìn)行郵箱登錄操作 EndSub 2、將下列代碼加入Form1的Form_Unload事件: PrivateSubForm_Unload(CancelAsInteger) MAPISession1.SignOff /退出程序時(shí)候進(jìn)行退出郵箱操作 EndSub 3、將下列代碼加入cmdSend的Click事件: PrivateSubcmdSend_Click() WithMAPIMes
7、sages1 .MsgIndex=-1 .RecipDisplayName=txtSendTo.Text /收信人地址 .MsgSubject=txtSubject.Text /郵件主題 .MsgNoteText=txtMessage.Text /郵件正文 .SessionID=MAPISession1.SessionID /發(fā)送程序和郵件工具之間建立的任務(wù)數(shù) .Send EndWith MsgBox"郵件發(fā)送完畢!",,"發(fā)送郵件" /發(fā)送成功顯示信息框 EndSub 這樣一