b
PrivateSubCommand2_Click()
receive.Show
EndSub
PrivateSubCommand3_Click()
wlc.Show
EndSub
PrivateSubdl_Click()
frmLogin.Show
EndSub
PrivateSubForm_Load()
Command1.Enabled=False
Command2.Enabled=False
fsyj.Enabled=False
jsyj.Enabled=False
zx.Enabled=False
EndSub
PrivateSubfsyj_Click()
send.Show
EndSub
PrivateSubhelp_Click()
frmSplash.Show
EndSub
PrivateSubjsyj_Click()
receive.Show
EndSub
PrivateSubtc_Click()
End
EndSub
PrivateSubzx_Click()
Command1.Enabled=False
Command2.Enabled=False
Command3.Enabled=True
fsyj.Enabled=False
jsyj.Enabled=False
zx.Enabled=False
dl.Enabled=True
EndSub
3.5.2邮件发送程序
邮件发送程序的基本处理过程是:根据用户输入信息组成邮件,然后使用MAPI
消息控件的Send方法将邮件发出。编程步骤如下:
1、新建一个VB项目。
2、将缺省窗体Form1的Caption属性设置为"发送邮件"。
3、将MAPI控件加入VB工具框。
4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。
5、在Form1中加入三个文本框控件,将它们的Name属性分别设置为txtSendTo、txtSubject、txtMessage,并将txtMessage的Multiline属性设置为True。这三个文本框控件将分别用于填写邮件的收件人、主题和内容。
6、在Form1中加入三个标签控件,将它们的Caption属性分别设置为"收件人"、"主题"和"内容",并将它们放在合适的位置用以标注相应的文本框控件。
7、在Form1中加入一个命令按钮控件,将其Caption属性和Name属性分别设置为"发送"和"cmdSend"。
8、将下列代码加入Form1的Form_Load事件:
PrivateSubForm_Load()
MAPISession1.SignOn
EndSub
9、将下列代码加入Form1的Form_Unload事件:
PrivateSubForm_Unload(CancelAsInteger)
MAPISession1.SignOff
EndSub
10、将下列代码加入cmdSend的Click事件:
PrivateSubcmdSend_Click()
WithMAPIMessages1
.MsgIndex=-1
.RecipDisplayName=txtSendTo.Text
.MsgSubject=txtSubject.Text
.MsgNoteText=txtMessage.Text
.SessionID=MAPISession1.SessionID
.Send
EndWith
EndSub
程序运行后如图所示。在填写完邮件的收件人、主题和内容后,按"发送"命令按钮,如果没有出现运行时错误提示,那么就表明邮件已经成功地发往目的地了,否则,请检查填写的收件人地址是否准确无误以及系统中运行的消息系统工作是否正常。
3.5.3邮件接收程序
邮件接收程序比邮件发送程序稍微复杂一些。首先需要使用MAPI消息控件的Fetch方法读取邮件,这个过程将把用户收件箱中所有未读邮件全部装入MAPI消息控件中。然后,检查MAPI消息控件的MsgCount属性以确定通过Fetch方法读取的邮件的总数。接着,可以通过设置MAPI消息控件的MsgIndex属性来指定具体需要处理哪一封邮件。需要说明的是,MsgIndex属性值的计数是从0开始的,也就是说,第一封邮件的索引号是0,第二封邮件的索引号是1,依次类推。编程步骤如下:
1、新建一个VB项目。
2、将缺省窗体Form1的Caption属性设置为"接收邮件"。
3、将MAPI控件加入VB工具框。
4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。
5、在Form1中加入三个标签控件和一个文本框控件,将三个标签控件的Name属性分别设置为lblMsgDateReceived、lblMsgOrigDisplayName、lblMsgSubject,将文本框控件的Name属性设置为txtMsgNoteText,并将标签控件的Caption属性和文本框控件的Text属性的内容清空。这四个控件将分别用于显示邮件的日期、发件人、主题和内容。
6、将txtMsgNoteText控件的Locked属性和Multiline属性设置为True,ScrollBars属性设置为2-Vertical。
7、在Form1中再加入四个标签控件用于标注上述四个控件,将它们的Caption属性分别设置为"日期"、"发件人"、"主题"、"内容"。
8、在Form1中加入一个标签控件,将其Name属性设置为lblMsgCount,Caption属性设置为"第0封邮件,总计0封邮件"。该控件用于显示接收的邮件总数以及当前正在处理第几封邮件。
9、在Form1中加入三个命令按钮控件,将它们的Name属性分别设置为cmdPrevious、cmdNext、cmdClose,Caption属性分别设置为"上一封"、"下一封"、"关闭"。
10、编写一个窗体级子例程(通用)FetchNewMail:
PublicSubFetchNewMail()
MAPIMessages1.FetchUnreadOnly=True
MAPIMessages1.Fetch
EndSub
11、编写一个窗体级子例程(通用)DisplayMessage:
PublicSubDisplayMessage()
lblMsgCount.Caption="第"&_
LTrim(Str(MAPIMessages1.MsgIndex+1))&"封邮件,总计"&_
LTrim(Str(MAPIMessages1.MsgCount))&"封邮件"
lblMsgDateReceived.Caption=MAPIMessages1.MsgDateReceived
txtMsgNoteText.Text=MAPIMessages1.MsgNoteText
lblMsgOrigDisplayName.Caption=MAPIMessages1.MsgOrigDisplayName
lblMsgSubject.Caption=MAPIMessages1.MsgSubject
EndSub
12、将下列代码加入Form1的Form_Load事件:
PrivateSubForm_Load()
MAPISession1.SignOn
MAPIMessages1.SessionID=MAPISession1.SessionID
FetchNewMail
DisplayMessage
EndSub
13、将下列代码加入cmdPrevious的Click事件:
PrivateSubcmdPrevious_Click()
IfMAPIMessages1.MsgIndex>0Then
MAPIMessages1.MsgIndex=MAPIMessages1.MsgIndex-1
DisplayMessage
Else
Beep
EndIf
EndSub
14、将下列代码加入cmdNext的Click事件:
PrivateSubcmdNext_Click()
IfMAPIMessages1.MsgIndex
上一篇:vb一个考试管理系统。带论文的(论文和程序)
下一篇:恋沫