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

📄 fmain.frm

📁 用VB进行TAPI开发的源程.没有太详细的说明.有兴趣的同志得仔细看了.
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Me.MousePointer = vbDefault
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
'class automatically deallocates itself when it is destroyed
End Sub

Private Sub cboLineSel_Click()

lstLineInfo.Clear
If cboLineSel.List(cboLineSel.ListIndex) <> "" Then
    'this sets the current line in the TAPIline class
    tapiline.CurrentLineID = cboLineSel.List(cboLineSel.ListIndex)
    
    'this section just prints out a lot of info about the selected Line
    lstLineInfo.AddItem "TAPI LINE: #" & tapiline.CurrentLineID
    lstLineInfo.AddItem "TAPI LINE NAME: " & tapiline.LineName
    lstLineInfo.AddItem "TAPI PROVIDER INFO: " & tapiline.ProviderInfo
    lstLineInfo.AddItem "TAPI SWITCH INFO: " & tapiline.SwitchInfo
    lstLineInfo.AddItem "Permanent Line ID: " & tapiline.PermanentLineID
    Select Case tapiline.StringFormat
        Case STRINGFORMAT_ASCII
            lstLineInfo.AddItem "String Format: STRINGFORMAT_ASCII"
        Case STRINGFORMAT_DBCS
            lstLineInfo.AddItem "String Format: STRINGFORMAT_DBCS"
        Case STRINGFORMAT_UNICODE
            lstLineInfo.AddItem "String Format: STRINGFORMAT_UNICODE"
        Case STRINGFORMAT_BINARY
            lstLineInfo.AddItem "String Format: STRINGFORMAT_BINARY"
        Case Else
    End Select
    lstLineInfo.AddItem "Number of addresses associated with this line: " & tapiline.numAddresses
    lstLineInfo.AddItem "Max data rate: " & tapiline.maxDataRate
    lstLineInfo.AddItem "Bearer Modes supported:"
    If LINEBEARERMODE_VOICE And tapiline.BearerModes Then lstLineInfo.AddItem vbTab & "LINEBEARERMODE_VOICE"
    If LINEBEARERMODE_SPEECH And tapiline.BearerModes Then lstLineInfo.AddItem vbTab & "LINEBEARERMODE_SPEECH"
    If LINEBEARERMODE_DATA And tapiline.BearerModes Then lstLineInfo.AddItem vbTab & "LINEBEARERMODE_DATA"
    If LINEBEARERMODE_ALTSPEECHDATA And tapiline.BearerModes Then lstLineInfo.AddItem vbTab & "LINEBEARERMODE_ALTSPEECHDATA"
    If LINEBEARERMODE_MULTIUSE And tapiline.BearerModes Then lstLineInfo.AddItem vbTab & "LINEBEARERMODE_MULTIUSE"
    If LINEBEARERMODE_NONCALLSIGNALING And tapiline.BearerModes Then lstLineInfo.AddItem vbTab & "LINEBEARERMODE_NONCALLSIGNALING"
    lstLineInfo.AddItem "Address Modes supported:"
    If tapiline.AddressModes And LINEADDRESSMODE_ADDRESSID Then lstLineInfo.AddItem vbTab & "LINEADDRESSMODE_ADDRESSID"
    If tapiline.AddressModes And LINEADDRESSMODE_DIALABLEADDR Then lstLineInfo.AddItem vbTab & "LINEADDRESSMODE_DIALABLEADDR"
    lstLineInfo.AddItem "Media Modes supported:"
    If LINEMEDIAMODE_ADSI And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_ADSI"
    If LINEMEDIAMODE_AUTOMATEDVOICE And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_AUTOMATEDVOICE"
    If LINEMEDIAMODE_DATAMODEM And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_DATAMODEM"
    If LINEMEDIAMODE_DIGITALDATA And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_DIGITALDATA"
    If LINEMEDIAMODE_G3FAX And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_G3FAX"
    If LINEMEDIAMODE_G4FAX And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_G4FAX"
    If LINEMEDIAMODE_INTERACTIVEVOICE And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_INTERACTIVEVOICE"
    If LINEMEDIAMODE_MIXED And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_MIXED"
    If LINEMEDIAMODE_TDD And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_TDD"
    If LINEMEDIAMODE_TELETEX And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_TELETEX"
    If LINEMEDIAMODE_TELEX And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_TELEX"
    If LINEMEDIAMODE_UNKNOWN And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_UNKNOWN"
    If LINEMEDIAMODE_VIDEOTEX And tapiline.mediamodes Then lstLineInfo.AddItem vbTab & "LINEMEDIAMODE_VIDEOTEX"
    lstLineInfo.AddItem "Line Tone Generation supported: " & CBool(tapiline.GenerateToneMaxNumFreq)
    If CBool(tapiline.GenerateToneMaxNumFreq) Then 'show if tone generation is supported
        If LINETONEMODE_BEEP And tapiline.GenerateToneModes Then lstLineInfo.AddItem vbTab & "LINETONEMODE_BEEP"
        If LINETONEMODE_BILLING And tapiline.GenerateToneModes Then lstLineInfo.AddItem vbTab & "LINETONEMODE_BILLING"
        If LINETONEMODE_BUSY And tapiline.GenerateToneModes Then lstLineInfo.AddItem vbTab & "LINETONEMODE_BUSY"
        If LINETONEMODE_CUSTOM And tapiline.GenerateToneModes Then lstLineInfo.AddItem vbTab & "LINETONEMODE_CUSTOM"
        If LINETONEMODE_RINGBACK And tapiline.GenerateToneModes Then lstLineInfo.AddItem vbTab & "LINETONEMODE_RINGBACK"
    End If
    lstLineInfo.AddItem "Number of terminals for this line: " & tapiline.numTerminals
Else
    lstLineInfo.AddItem "<No Valid TAPI Line Selected>"
End If
'now we check to see if this line supports making voice calls
If tapiline.LineSupportsVoiceCalls Then
    'and enable/disable the call btn as appropriate
    cmdDial.Enabled = True
Else
    cmdDial.Enabled = False
End If

'paint the icon for this line
picIcon.AutoRedraw = True
If tapiline.PaintDevIcon(picIcon.hdc, 4, 4) Then
    'make icon persistent
    picIcon.Picture = picIcon.Image
Else
    'TSP contains no icon - just erase the old one
    picIcon.Picture = LoadPicture()
End If


End Sub

Private Sub cmdConfigDlg_Click()
    Dim success As Boolean
    success = tapiline.ConfigDialog(Me.hWnd)
    If success <> True Then
        MsgBox tapiline.ErrorString(tapiline.LastError)
    End If
End Sub

Private Sub cmdDial_Click()
Dim success As Boolean

cmdDial.Enabled = False
'give the user some progress indication
lstCallProgress.AddItem "Opening line: #" & tapiline.CurrentLineID
success = tapiline.OpenLine
If success <> True Then
    MsgBox "TAPI ERROR " & vbCrLf & tapiline.ErrorString(tapiline.LastError), vbCritical, App.Title
    cmdDial.Enabled = True
    Exit Sub
End If
lstCallProgress.AddItem "Preparing to dial: " & txtPhoneNumber.Text
success = tapiline.MakeCallAsynch(txtPhoneNumber.Text)
If success <> True Then
    Call tapiline.CloseLine
    MsgBox "Error #" & tapiline.LastError & vbCrLf & _
            tapiline.ErrorString(tapiline.LastError), vbInformation, App.Title
    cmdDial.Enabled = True
    Exit Sub
End If


End Sub

Private Sub cmdDialProps_Click()
    Dim success As Boolean
    success = tapiline.DialingPropertiesDialog(Me.hWnd, txtPhoneNumber)
    If success <> True Then
        MsgBox tapiline.ErrorString(tapiline.LastError)
    End If

End Sub

Private Sub cmdExit_Click()
Unload Me
End Sub

Private Sub cmdHangUp_Click()
Dim success As Boolean

lstCallProgress.AddItem "Requesting drop call..."

success = tapiline.DropCallAsynch
If success <> True Then
    MsgBox "Error #" & tapiline.LastError & vbCrLf & tapiline.ErrorString(tapiline.LastError)
End If
    

End Sub




'THESE ARE EVENTS RAISED BY THE CLASS
'WHEN ASYNCH FUNCTIONS RETURN
Private Sub tapiline_DropCallResult(ByVal errorCode As Long)
    If errorCode = TAPI_SUCCESS Then
        lstCallProgress.AddItem "Call Dropped: " & txtPhoneNumber.Text
        lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
    Else
        lstCallProgress.AddItem "Call Drop Error: " & tapiline.ErrorString(errorCode)
        lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
    End If
    
End Sub


Private Sub tapiline_MakeCallResult(ByVal errorCode As Long)
    If errorCode = TAPI_SUCCESS Then
        lstCallProgress.AddItem "Dialing: " & txtPhoneNumber.Text
        lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
    Else
        lstCallProgress.AddItem "Could not dial: " & txtPhoneNumber.Text
        lstCallProgress.AddItem "Dial Error: " & tapiline.ErrorString(errorCode)
        lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
    End If
End Sub
'THESE ARE EVENTS RAISED BY THE CLASS WHEN IT RECEIVES
'CERTAIN LINE_STATE MSGS
Private Sub tapiline_Connected()
cmdHangUp.Enabled = True
lstCallProgress.AddItem "Connected"
lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
End Sub

Private Sub tapiline_Disconnected()
cmdHangUp.Enabled = False
lstCallProgress.AddItem "Disconnected"
lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
End Sub
Private Sub tapiline_Idle()
cmdHangUp.Enabled = False
cmdDial.Enabled = True
lstCallProgress.AddItem "Idle"
lstCallProgress.TopIndex = lstCallProgress.ListCount - 1
End Sub

'this sub is only used to slow down the initial updating of the
'listbox control - it is only for looks
Sub Pause(ByVal mSecs As Long, Optional bYield As Boolean = True)
    Dim startTime As Long
    
    startTime = timeGetTime()
    Do While timeGetTime < startTime + mSecs
        If bYield Then
            DoEvents
        End If
    Loop
    
End Sub

⌨️ 快捷键说明

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