⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vbmail.frm

📁 收发电子邮件 对邮件保存删除等基本操作 通讯簿 设信纸 保存邮件附件 支持smtp pop3协议等
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Private Sub FontPrt_Click()
'打印字体设置
    On Error Resume Next
    CMDialog1.Flags = 1
    CMDialog1.FontName = Printer.FontName
    CMDialog1.FontSize = Printer.FontSize
    CMDialog1.FontBold = Printer.FontBold
    CMDialog1.FontItalic = Printer.FontItalic
    CMDialog1.ShowFont
    If Err = 0 Then
        Printer.FontName = CMDialog1.FontName
        Printer.FontSize = CMDialog1.FontSize
        Printer.FontBold = CMDialog1.FontBold
        Printer.FontItalic = CMDialog1.FontItalic
    End If
End Sub

Private Sub FontScreen_Click()
'活动窗体中具有输入焦点控件的字体设置
    On Error Resume Next
    CMDialog1.Flags = 1
    CMDialog1.FontName = VBMail.ActiveForm.ActiveControl.FontName
    CMDialog1.FontSize = VBMail.ActiveForm.ActiveControl.FontSize
    CMDialog1.FontBold = VBMail.ActiveForm.ActiveControl.FontBold
    CMDialog1.FontItalic = VBMail.ActiveForm.ActiveControl.FontItalic
    CMDialog1.ShowFont
    If Err = 0 Then
        VBMail.ActiveForm.ActiveControl.FontName = CMDialog1.FontName
        VBMail.ActiveForm.ActiveControl.FontSize = CMDialog1.FontSize
        VBMail.ActiveForm.ActiveControl.FontBold = CMDialog1.FontBold
        VBMail.ActiveForm.ActiveControl.FontItalic = CMDialog1.FontItalic
    End If
End Sub

Private Sub Logoff_Click()
'关闭邮件对话,注销用户
    Call LogOffUser
End Sub

Private Sub Logon_Click()
'登录
    On Error Resume Next
    '打开邮件对话
    MAPISess.Action = 1
    If Err <> 0 Then
        MsgBox "登录失败!!!" + Error$
    Else
        Screen.MousePointer = 11
        MAPIMess.SessionID = MAPISess.SessionID
        '取得邮箱中邮件的数量
        GetMessageCount
        Screen.MousePointer = 11
        '将邮件的信息装载到邮件列表窗体中的列表框
        Call LoadList(MAPIMess)
        Screen.MousePointer = 0
        '设置各个按扭及菜单的可用状态
        Logon.Enabled = False
        Logoff.Enabled = True
        ShowAB.Enabled = True
        VBMail.Toolbar1.Buttons("Compose").Enabled = True
        VBMail.Toolbar1.Buttons("Fetch").Enabled = True
        VBMail.Toolbar1.Buttons("ReplyAll").Enabled = True
        VBMail.Toolbar1.Buttons("Reply").Enabled = True
        VBMail.Toolbar1.Buttons("Forward").Enabled = True
        VBMail.EditDelete = True
        VBMail.Toolbar1.Buttons("Delete").Enabled = True
        VBMail.Toolbar1.Buttons("Previous1").Enabled = False
        VBMail.Toolbar1.Buttons("Next1").Enabled = True
        VBMail.EditDelete.Enabled = True
        VBMail.Mforward.Enabled = True
        VBMail.Mreply.Enabled = True
        VBMail.Mreplyall.Enabled = True
        VBMail.Mreplyall.Enabled = True
        VBMail.Mcompose.Enabled = True
        VBMail.PrintMessage.Enabled = True
        VBMail.Mfetch.Enabled = True
    End If
End Sub

Private Sub MailOpts_Click()
'调用收发邮件设置对话框
    OptionType = conOptionGeneral
    MailOptFrm.Show 1
End Sub

Private Sub Mcompose_Click()
'撰写新邮件
    VBMail.MAPIMess.Action = 6
    If SendWithMapi Then
        '使用MAPI对话框撰写及发送电子邮件
        VBMail.MAPIMess.Action = vbMessageSenddlg
    Else
        '使用设计的窗体NewMsg撰写及发送电子邮件
        Call LoadMessage(-1, NewMsg)
    End If
End Sub

Private Sub MDIForm_Load()
'进入程序,初始化各菜单,按扭的可用状态
    Logoff.Enabled = False
    Statusbar1.Panels(2) = Time$
    Statusbar1.Panels(1) = "离线状态"
    SendWithMapi = True
    ShowAB.Enabled = False
    VBMail.Toolbar1.Buttons("Compose").Enabled = False
    VBMail.Toolbar1.Buttons("Fetch").Enabled = False
    VBMail.Toolbar1.Buttons("ReplyAll").Enabled = False
    VBMail.Toolbar1.Buttons("Reply").Enabled = False
    VBMail.Toolbar1.Buttons("Forward").Enabled = False
    VBMail.Toolbar1.Buttons("Delete").Enabled = False
    VBMail.Toolbar1.Buttons("Previous1").Enabled = False
    VBMail.Toolbar1.Buttons("Next1").Enabled = False
    VBMail.EditDelete.Enabled = False
    VBMail.Mforward.Enabled = False
    VBMail.Mreply.Enabled = False
    VBMail.Mreplyall.Enabled = False
    VBMail.Mreplyall.Enabled = False
    VBMail.Mcompose.Enabled = False
    VBMail.PrintMessage.Enabled = False
    VBMail.Mfetch.Enabled = False
    VBMail.MAPISess.LogonUI = True
End Sub

Private Sub Mfetch_Click()
'读取邮件
    VBMail.MAPIMess.Action = 1
    '取得邮箱中邮件的数量
    GetMessageCount
    '将邮件信息装载到邮件列表窗体中
    Call LoadList(MAPIMess)
End Sub

Private Sub Mforward_Click()
'转发邮件
    '取得邮件的正文及邮件头
    svNote = VBMail.MAPIMess.MsgNoteText
    svNote = GetHeader(VBMail.MAPIMess) + svNote
    '发送
    VBMail.MAPIMess.Action = 9
    VBMail.MAPIMess.MsgNoteText = svNote
    If SendWithMapi Then
        '使用MAPI对话框撰写及转发电子邮件
        VBMail.MAPIMess.Action = vbMessageSenddlg
    Else
        '使用设计的窗体NewMsg撰写及转送电子邮件
        Call LoadMessage(-1, NewMsg)
    End If
End Sub

Private Sub Mreply_Click()
'回复邮件
    '取得邮件的正文及邮件头
    svNote = VBMail.MAPIMess.MsgNoteText
    svNote = GetHeader(VBMail.MAPIMess) + svNote
    '回复
    VBMail.MAPIMess.Action = 7
    VBMail.MAPIMess.MsgNoteText = svNote
    If SendWithMapi Then
        '使用MAPI对话框撰写及回复电子邮件
        VBMail.MAPIMess.Action = vbMessageSenddlg
    Else
        '使用设计的窗体NewMsg撰写及回复电子邮件
        Call LoadMessage(-1, NewMsg)
    End If
End Sub

Private Sub Mreplyall_Click()
'全部回复
    svNote = VBMail.MAPIMess.MsgNoteText
    svNote = GetHeader(VBMail.MAPIMess) + svNote
    VBMail.MAPIMess.Action = 8
    VBMail.MAPIMess.MsgNoteText = svNote
    If SendWithMapi Then
        VBMail.MAPIMess.Action = vbMessageSenddlg
    Else
        Call LoadMessage(-1, NewMsg)
    End If
End Sub

Private Sub PrintMessage_Click()
'打印邮件
    Call Printmail
End Sub

Private Sub PrSetup_Click()
'打印机设置
    On Error Resume Next
    CMDialog1.Flags = &H40
    CMDialog1.ShowPrinter
End Sub

Private Sub ShowAB_Click()
'显示地址簿
    On Error Resume Next
    VBMail.MAPIMess.Action = vbMessageShowADBook
    If Err Then
        If errr <> 32001 Then
            MsgBox "error:" + Error$ + "occured trying to show the address book"
        End If
    Else
        '更新收信人地址
        If TypeOf VBMail.ActiveForm Is NewMsg Then
            Call UpdateRecips(VBMail.ActiveForm)
        End If
    End If
End Sub

Private Sub Timer1_Timer()
    Statusbar1.Panels(2) = Time$
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
    On Error Resume Next
    Select Case Button.Key
        Case "Fetch"
            Call Mfetch_Click
        Case "Compose"
            Call Mcompose_Click
        Case "Reply"
            Call Mreply_Click
        Case "ReplyAll"
            Call Mreplyall_Click
        Case "Forward"
            Call Mforward_Click
        Case "Previous1"
            '查看前一封邮件
            If MailLst.Mlist.ListCount <> 0 Then
                MailLst.Mlist.ItemData(MailLst.Mlist.ListIndex) = False
                MailLst.Mlist.ListIndex = MailLst.Mlist.ListIndex - 1
            End If
            Call ViewNextMsg
        Case "Next1"
           '查看下一封邮件
            If MailLst.Mlist.ListIndex <> MailLst.Mlist.ListCount - 1 Then
                MailLst.Mlist.ItemData(MailLst.Mlist.ListIndex) = False
                MailLst.Mlist.ListIndex = MailLst.Mlist.ListIndex + 1
            End If
            Call ViewNextMsg
        Case "Delete"
            '删除当前的邮件
            If TypeOf VBMail.ActiveForm Is MsgView Then
                Call DeleteMessage
            ElseIf TypeOf VBMail.ActiveForm Is MailLst Then
                VBMail.MAPIMess.MsgIndex = MailLst.Mlist.ListIndex
                Call DeleteMessage
            End If
    End Select
End Sub

Private Sub Wa_Click(Index As Integer)
'排列子窗体
    VBMail.Arrange Index
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -