?? frmqueue.frm
字號:
Case 114 '按下 F3
If cmdAgain.Enabled = True Then
cmdAgain_Click
End If
Case 115 '按下 F4
If cmdAbandon.Enabled = True Then
cmdAbandon_Click
End If
Case 116 '按下 F5
If cmdRecall.Enabled = True Then
cmdRecall_Click
End If
Case 117 '按下 F6
If cmdFirst.Enabled = True Then
cmdFirst_Click
End If
Case 118 '按下 F7
If cmdShift.Enabled = True Then
cmdShift_Click
End If
Case 119 '按下 F8
If cmdChange.Enabled = True Then
cmdChange_Click
End If
Case 120 '按下 F9
If cmdStorage.Enabled = True Then
cmdStorage_Click
End If
End Select
End Sub
Private Sub Form_Load()
On Error GoTo ERROR_EXIT
Dim iStart As Single
m_bConnect = False
m_bReLogin = False
m_bService = False
'連接服務端,采用TCP/IP
wskConnect.RemoteHost = m_strServer
wskConnect.RemotePort = m_iPort
wskConnect.Connect
'等待系統連接,顯示動畫圖標
iStart = Timer
Do While Timer < iStart + PauseTime
DoEvents ' 將控制讓給其他程序。8420
Loop
'顯示矩形框
m_bDock = True
If m_bDock = True Then
timStart.Interval = 50
Line (0, 0)-(frmQueue.Width, frmQueue.Height), vbCyan, BF
Get_Windows_Rect
End If
'HOOK系統菜單處理函數
procOld = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf SysMenuProc)
Exit Sub
ERROR_EXIT:
m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
m_tagErrInfo.strErrFile = "frmQueue"
m_tagErrInfo.strErrFunc = "Form_Load"
m_tagErrInfo.nErrNum = Err.Number
m_tagErrInfo.strErrDesc = Error(Err.Number)
If Err.Number <> 0 Then Err.Clear
modErrorInfo.WriteErrLog m_tagErrInfo
End Sub
Private Sub Form_Paint()
On Error Resume Next
'使窗體始終置于最前面
If PtInRect(MyRect, MyPoint.X, MyPoint.Y) = 0 Then
SetWindowPos Me.hWnd, HWND_TOPMOST, Me.Left / Screen.TwipsPerPixelX, _
Me.Top \ Screen.TwipsPerPixelY, Me.Width \ Screen.TwipsPerPixelX, _
Me.Height \ Screen.TwipsPerPixelY, 0
End If
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
Dim SureQ As Integer
If m_bReLogin = True Then
'重復登錄關閉主窗口
Cancel = 0
Exit Sub
End If
If m_bLogin = False Then
'登錄失敗關閉主窗口
Cancel = 0
Exit Sub
End If
SureQ = MsgBox("真的退出該系統嗎(Y/N)? ", vbYesNo Or vbQuestion, "系統提示")
If SureQ = vbYes Then
Cancel = 0
send_data "STOP" & vbTab & m_strUser & vbTab & m_strServer
Else
Cancel = -1
End If
End Sub
Private Sub Form_Terminate()
On Error Resume Next
Set frmQueue = Nothing
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
If m_bReLogin = True Then
modStartup.Main
Set frmQueue = Nothing
End If
End Sub
Private Sub imgControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
If m_bDock = False Then Exit Sub
If Is_Move_B Then
Movex = MyPoint.X - MyRect.Left
Movey = MyPoint.Y - MyRect.Top
Is_Movestar_B = True
End If
End Sub
Private Sub imgControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
Dim dl As Long
If m_bDock = False Then Exit Sub
If Is_Movestar_B Then
dl = MoveWindow(frmQueue.hWnd, MyPoint.X - Movex, MyPoint.Y - Movey, _
MyRect.Right - MyRect.Left, MyRect.Bottom, -1)
End If
End Sub
Private Sub imgControl_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
Dim dl As Integer
If m_bDock = False Then Exit Sub
dl = GetWindowRect(frmQueue.hWnd, MyRect)
If MyRect.Top < 20 Then
Get_Windows_Rect
Is_Movestar_B = False
Else
'停止泊位
m_bDock = False
timStart.Enabled = False
Screen.MousePointer = 0
modInterface.ControlWindows m_bDock
End If
End Sub
'刷新狀態條上的排隊人數
Private Sub timInfo_Timer()
On Error Resume Next
Quire_Refrsh_Queue
End Sub
Private Sub timStart_Timer()
On Error Resume Next
Dim dl As Long
dl = GetCursorPos(MyPoint)
If (PtInRect(MyRect, MyPoint.X, MyPoint.Y) And _
frmQueue.Height = max) Or MyPoint.Y <= 3 Then
frmQueue.BackColor = vbBlue '窗體背景顏色(用戶可隨意改動)
frmQueue.Height = max
'判斷鼠標指針是否位于窗體拖動區
If MyPoint.X - MyRect.Left <= 10 Or Is_Movestar_B Then
Screen.MousePointer = 15
Is_Move_B = True
Else
Screen.MousePointer = 0
Is_Move_B = False
End If
Else
If Not Is_Movestar_B Then
frmQueue.Height = 30 '窗體變小
End If
End If
End Sub
'////////////////////////////////////////////////////////////////////////////////////////////////////////
' 通訊處理程序
Private Sub wskConnect_Close()
On Error Resume Next
wskConnect.Close
Refresh_Info 3
'關閉相關按鈕
cmdArrange.Enabled = False
cmdAgain.Enabled = False
cmdAbandon.Enabled = False
cmdRecall.Enabled = False
cmdFirst.Enabled = False
cmdShift.Enabled = False
cmdChange.Enabled = False
cmdStorage.Enabled = False
cmdPassword.Enabled = False
cmdPause.Enabled = False
timInfo.Enabled = False
End Sub
Private Sub wskConnect_Connect()
On Error Resume Next
If wskConnect.State <> sckConnected Then
m_bConnect = False
Else
'檢查用戶身份
send_data "USER" & vbTab & m_strUser & vbTab & m_strPass & vbTab & m_strServer
End If
End Sub
Private Sub wskConnect_DataArrival(ByVal bytesTotal As Long)
On Error GoTo ERROR_EXIT
Dim new_data As String
Dim iResult As Integer
'incomming data,to recive it and send it to get decoded
wskConnect.GetData new_data
DoEvents
'decode receive code
decode_data new_data
Exit Sub
ERROR_EXIT:
m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
m_tagErrInfo.strErrFile = "wskConnect_DataArrival"
m_tagErrInfo.strErrFunc = "Form_Load"
m_tagErrInfo.nErrNum = Err.Number
m_tagErrInfo.strErrDesc = Error(Err.Number)
If Err.Number <> 0 Then Err.Clear
modErrorInfo.WriteErrLog m_tagErrInfo
End Sub
Private Sub wskConnect_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
On Error GoTo ERROR_EXIT
Dim sData As String, sFunction As String
Dim sPara() As String
wskConnect.GetData sData, vbString
sFunction = Left$(sData, 4)
sPara = Split(sData, vbTab)
'根據返回值判斷服務方數據
Select Case sFunction
Case "USER" '用戶身份認證
If sPara(1) = "OK" Then
m_bConnect = True
If Not Refresh_Info(0) Then GoTo ERROR_EXIT
Else
MsgBox "無法驗證該用戶的身份!", vbOKOnly + vbCritical, "系統錯誤"
m_bConnect = False
End If
Case Else
End Select
Exit Sub
ERROR_EXIT:
m_tagErrInfo.strErrDate = Format(Now, "yyyy-mm-dd hh:mm:ss")
m_tagErrInfo.strErrFile = "wskConnect_Error"
m_tagErrInfo.strErrFunc = "Form_Load"
m_tagErrInfo.nErrNum = Err.Number
m_tagErrInfo.strErrDesc = Error(Err.Number)
If Err.Number <> 0 Then Err.Clear
modErrorInfo.WriteErrLog m_tagErrInfo
End Sub
'////////////////////////////////////////////////////////////////////////////////////////////////////
'/
'刷新顯示 0 - 刷新用戶名稱,服務隊列 ; 1 - 刷新排隊人數
Public Function Refresh_Info(Optional ByVal iMode As Integer = 0) As Boolean
On Error Resume Next
Select Case iMode
Case 0
stbInfo.Panels(2).Text = "服務類型: " & my_service_type.service_name
stbInfo.Panels(3).Text = "登錄用戶: " & m_sUserName
Refresh_Info = True
Case 1
stbInfo.Panels(4).Text = "等待人數: " & m_iCustomerNum
If m_bService = False Then
stbInfo.Panels(2).Text = "服務類型: " & my_service_type.service_name
Else
stbInfo.Panels(2).Text = "服務客戶編號:" & m_sCustomerCode
End If
Refresh_Info = True
Case 2
stbInfo.Panels(1).Text = "已與中心控制臺建立連接!"
stbInfo.Panels(1).ToolTipText = "服務端已與中心控制臺連接!"
Refresh_Info = True
Case 3
stbInfo.Panels(1).Text = "已與中心控制臺斷開連接!"
stbInfo.Panels(1).ToolTipText = "中心控制臺關閉連接服務!"
Refresh_Info = True
End Select
End Function
'初始化顯示界面按鈕狀態
Public Function EnableButton(ByVal bMode As Boolean) As Boolean
On Error Resume Next
If bMode = False And m_bService = False Then
cmdArrange.Enabled = False
cmdAgain.Enabled = False
cmdAbandon.Enabled = False
cmdRecall.Enabled = False
cmdFirst.Enabled = False
cmdShift.Enabled = False
cmdChange.Enabled = False
cmdStorage.Enabled = False
ElseIf bMode = True And m_bService = False Then
cmdArrange.Caption = "順呼[F2]"
cmdArrange.Tag = "0"
cmdArrange.Enabled = True
cmdRecall.Enabled = True
cmdFirst.Enabled = True
cmdChange.Enabled = True
cmdAbandon.Enabled = False
cmdAgain.Enabled = False
cmdShift.Enabled = False
cmdStorage.Enabled = False
ElseIf bMode = True And m_bService = True Then
cmdArrange.Caption = "完成[F2]"
cmdArrange.Tag = "1"
cmdArrange.Enabled = True
cmdRecall.Enabled = False
cmdFirst.Enabled = False
cmdChange.Enabled = False
cmdAbandon.Enabled = True
cmdAgain.Enabled = True
cmdShift.Enabled = True
cmdStorage.Enabled = True
Else
EnableButton = False
Exit Function
End If
EnableButton = True
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -