?? 設備檔案_設備故障顯示.frm
字號:
Private Sub WglrGrid_Scroll() '限制用戶在錄入過程中滾動鼠標
If Gdtlock Then
Exit Sub
End If
With WglrGrid
If Ydtext.Visible Or YdCombo.Visible Then
Gdtlock = True
.TopRow = Dqtoprow
.LeftCol = Dqleftcol
Gdtlock = False
Exit Sub
End If
End With
End Sub
Private Sub WglrGrid_LeaveCell() '離開單元格
If Changelock Then
Exit Sub
End If
'記錄剛剛離開網格單元的行列值
Dqlkwgh = WglrGrid.Row
Dqlkwgl = WglrGrid.Col
'判斷是否需要錄入數據回寫
If Not (Ydtext.Visible Or YdCombo.Visible) Then
Exit Sub
End If
Call Lrsjhx
End Sub
Private Sub WglrGrid_RowColChange() '網格錄入行列發生變化時,進行有效性判斷
End Sub
Private Sub WglrGrid_DblClick() '鼠標雙擊網格顯示文本框
With WglrGrid
Call xswbk
End With
End Sub
Private Sub Ycwbk() '隱藏文本框,幫助按鈕,列表組合框
Valilock = True
Ydtext.Visible = False
YdCombo.Visible = False
Ydcommand.Visible = False
End Sub
Private Sub YdCombo_LostFocus()
With WglrGrid '因為選中網格會先發生Rowcolchange事件置Valiock
If Not Valilock Then '為TRUE
Call Lrsjhx
End If
End With
End Sub
Private Sub Ydcommand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Call Lrzdbz
End Sub
Private Sub ydtext_KeyPress(KeyAscii As Integer) '錄入字符事中控制
Call InputFieldLimit(Ydtext, GridInt(WglrGrid.Col, 1), KeyAscii)
If KeyAscii <> 0 Then
' Call Xyxhbz(Dqlrwgh)
End If
End Sub
Private Sub ydtext_Change() '錄入事中變化處理
'防止程序改變但不進行處理
If Wbkbhlock Then
Exit Sub
End If
With WglrGrid
'限制字段錄入長度
Wbkbhlock = True
Select Case GridInt(.Col, 1)
Case 8, 11 '金額型
Call Sjgskz(Ydtext, Xtjezws - Xtjexsws - 1, Xtjexsws)
Case 9, 12 '數量型
Call Sjgskz(Ydtext, Xtslzws - Xtslxsws - 1, Xtslxsws)
Case 10 '單價型
Call Sjgskz(Ydtext, Xtdjzws - Xtdjxsws - 1, Xtdjxsws)
Case Else '其他類型
If GridInt(.Col, 3) <> 0 Or GridInt(.Col, 4) <> 0 Then
Call Sjgskz(Ydtext, GridInt(.Col, 3), GridInt(.Col, 4))
End If
End Select
Wbkbhlock = False
End With
End Sub
Private Sub ydtext_LostFocus() '如果由于選中網格之外的控件而發生有效性判斷(選中網格會先發生Rowcolchange事件置Valiock為TRUE)
With WglrGrid
If Not Valilock Then
Call Lrsjhx
' If Not sjzdyxxpd(Dqlrwgh, Dqlrwgl) Then
' Exit Sub
' End If
End If
End With
End Sub
Private Sub xswbk() '在當前選中單元顯示文本框,列表框,幫助按鈕(通用)
Dim Wbkpy As Integer, Wbkpy1 As Integer '文本框偏移量
'當某種條件成立時禁止文本框激活使單據處于錄入狀態
If Not Fun_AllowInput Then
Exit Sub
End If
'顯示文本框前返回有效行列(解決滾動條問題)
' Call Xldqh
' Call Xldql
'隱藏文本框,幫助按鈕,列表組合框
Call Ycwbk
With WglrGrid
Dqlrwgh = .Row
Dqlrwgl = .Col
If Not GridBoolean(.Col, 1) Or .Row < .FixedRows Then
Exit Sub
End If
Wbkpy = 30
Wbkpy1 = 15
If GridBoolean(.Col, 3) Then
YdCombo.Left = .CellLeft + .Left + Wbkpy
YdCombo.Top = .CellTop + .Top + Wbkpy
YdCombo.Width = .CellWidth - Wbkpy1
Call Wbkcl
YdCombo.Visible = True
YdCombo.SetFocus
Ydcommand.Visible = False
Ydtext.Visible = False
Else
If GridBoolean(.Col, 2) Then
Ydcommand.Left = .Left + .CellLeft + .CellWidth - Ydcommand.Width + Wbkpy
Ydcommand.Top = .Top + .CellTop + .CellHeight - Ydcommand.Height + Wbkpy
Ydcommand.Visible = True
Else
Ydcommand.Visible = False
End If
Ydtext.Left = .CellLeft + .Left + Wbkpy
Ydtext.Top = .CellTop + .Top + Wbkpy
If Ydcommand.Visible Then
If Sfblbzkd Then
Ydtext.Width = .CellWidth - Ydcommand.Width
Else
Ydtext.Width = .CellWidth - Wbkpy1
End If
Else
Ydtext.Width = .CellWidth - Wbkpy1
End If
Ydtext.Height = .CellHeight - Wbkpy1
If GridInt(.Col, 2) <> 0 Then
Ydtext.MaxLength = GridInt(.Col, 2)
Else
Ydtext.MaxLength = 3000
End If
Call Wbkcl
Ydtext.Visible = True
Ydtext.SetFocus
End If
Dqtoprow = .TopRow
Dqleftcol = .LeftCol
'重置鎖值
Valilock = False
Wbkbhlock = False
End With
End Sub
Private Function Fun_AllowInput() As Boolean '當某種條件成立時禁止文本框激活使單據處于錄入狀態
'如果單據操作狀態為瀏覽狀態則不能顯示錄入載體(通用)
If Trim(Lab_OperStatus.Caption) = "1" Then
Exit Function
End If
'[>>
'此處可以填寫禁止文本框激活使單據處于錄入狀態的理由
'<<]
Fun_AllowInput = True
End Function
Private Sub Cxxswbk() 'Formresize中重新顯示文本框,列表框,幫助按鈕(通用)
Dim Wbkpy As Integer, Wbkpy1 As Integer
Wbkpy = 30
Wbkpy1 = 15
With WglrGrid
If YdCombo.Visible Then
YdCombo.Left = .CellLeft + .Left + Wbkpy
YdCombo.Top = .CellTop + .Top + Wbkpy
YdCombo.Width = .CellWidth - Wbkpy1
End If
If Ydcommand.Visible Then
Ydcommand.Left = .Left + .CellLeft + .CellWidth - Ydcommand.Width + Wbkpy
Ydcommand.Top = .Top + .CellTop + .CellHeight - Ydcommand.Height + Wbkpy
End If
If Ydtext.Visible Then
If Ydcommand.Visible Then
If Sfblbzkd Then
Ydtext.Width = .CellWidth - Ydcommand.Width
Else
Ydtext.Width = .CellWidth - Wbkpy1
End If
Else
Ydtext.Width = .CellWidth - Wbkpy1
End If
Ydtext.Left = .CellLeft + .Left + Wbkpy
Ydtext.Top = .CellTop + .Top + Wbkpy
Ydtext.Height = .CellHeight - Wbkpy1
End If
End With
End Sub
Private Sub Lrsjhx() '文本框錄入數據回寫
With WglrGrid
If YdCombo.Visible Then
.Text = Trim(YdCombo.Text)
End If
If Ydtext.Visible Then
.Text = Trim(Ydtext.Text)
End If
'(如果字段錄入內容發生變化,則打開有效性判斷鎖)
If Zdlrqnr <> Trim(.Text) Then
Yxxpdlock = False
Hyxxpdlock = False
End If
'如果字段錄入內容不為空則寫數據行有效性標志
If Len(Trim(.Text)) <> 0 Then
' Call Xyxhbz(.Row)
End If
'隱藏文本框,幫助按鈕,列表組合框
Call Ycwbk
End With
End Sub
Private Sub WglrGrid_KeyDown(KeyCode As Integer, Shift As Integer) '網格錄入增行,刪行快捷鍵
'如果單據操作狀態為瀏覽狀態則不能顯示錄入載體
If Trim(Lab_OperStatus.Caption) = "1" Then
Exit Sub
End If
Select Case KeyCode
Case vbKeyF2 '按F2鍵參照
Call xswbk
Call Lrzdbz
Case vbKeyDelete '刪行
' Call Scdqfl
' Case vbKeyInsert '增行
' Call zjlrfl
End Select
End Sub
Private Sub Qkwlzd(sjh As Long, Sjl As Long) '清空為零字段
If Not GridBoolean(Sjl, 5) Then
Exit Sub
End If
With WglrGrid
If Val(Trim(.TextMatrix(sjh, Sjl))) = 0 Then
.TextMatrix(sjh, Sjl) = ""
End If
End With
End Sub
Private Sub WglrGrid_BeforeMoveColumn(ByVal Col As Long, Position As Long) '網格列發生移動時自動交換網格索引信息
Call FnBln_RefreshArray(Col, Position, GridStr(), GridInf())
End Sub
Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button) '表格格式設置(通用)
Select Case Button.Key
Case "bcgs" '保存表格格式
Call Bcwggs(WglrGrid, GridCode, GridStr())
Case "hfmrgs" '恢復默認格式
Call Hfmrgs(WglrGrid, GridCode, GridStr())
End Select
End Sub
Private Sub bbyl(bbylte As Boolean) '報表打印預覽
Dim Bbzbt$, Bbxbt() As String, bbxbtzzxs() As Integer, Bbxbtgs As Integer
Dim Bbbwh() As String, Bbbwhzzxs() As Integer, Bbbwhgs As Integer
Bbxbtgs = 3 '報 表 小 標 題 行 數
Bbbwhgs = 0 '報 表 表 尾 行 數
ReDim Bbxbt(1 To Bbxbtgs)
ReDim bbxbtzzxs(1 To Bbxbtgs)
If Bbbwhgs <> 0 Then
ReDim Bbbwh(1 To Bbbwhgs)
ReDim Bbbwhzzxs(1 To Bbbwhgs)
End If
Bbzbt = ReportTitle
Call Scyxsjb(WglrGrid) '生成報表數據
Call Scdybb(Dyymctbl, Bbzbt, Bbxbt(), bbxbtzzxs(), Bbxbtgs, Bbbwh(), Bbbwhzzxs(), Bbbwhgs, bbylte)
If Not bbylte Then
Unload DY_Tybbyldy
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -