Public Sub MouseWheel(ByVal MouseKeys As Long, ByVal Rotation As Long, ByVal Xpos As Long, ByVal Ypos As Long)
Dim NewValue As Long
Dim Lstep As Single
On Error Resume Next
With MSHFlexGrid1
Lstep = .Height / .RowHeight(0)
Lstep = Int(Lstep) - 2 ' sem o menos 1
If Lstep < 5 Then ' 10
Lstep = 5
End If
If Rotation > 0 Then
NewValue = .TopRow - Lstep
If NewValue < 1 Then
NewValue = 1
End If
Else
NewValue = .TopRow + Lstep
If NewValue > .Rows - 1 Then
NewValue = .Rows - 1
End If
End If
.TopRow = NewValue
End With
End Sub
O que tem de curioso nesse fonte?
(ByVal MouseKeys As Long, ByVal Rotation As Long, ByVal Xpos As Long, ByVal Ypos As Long)
Dim NewValue As Long
Dim Lstep As Single
Tipos definidos... de certa forma, semelhante ao MySQL
With MSHFlexGrid1
END WITH
Igual no Harbour, WITH OBJECT
NewValue = .TopRow - Lstep
Igual no Harbour, a diferença é que no Harbour usa dois pontos e não um. :TopRow
IF THEN...
Lembra do MySQL, aquele CASE..THEN
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then cmdSair_Click
GenericKeyPress Me, KeyAscii
End Sub
Essa era uma das coisas que eu não gostava no VB, mas dá pra acostumar...
Quando não tem retorno, não pode usar GenericKeyPress( Me, KeyAscii ), tem que escrever GenericKeyPress ME, KeyAscii
Podemos até comparar com DO Modulo ou Modulo() do Harbour.
ME, cuja tradução seria MIM, seria o SELF do Harbour, referente ao formulário.
Algo como passar o próprio formulário pra função, digamos como GenericKeyPress( SELF, KeyAscii )
É esquisito isso de programação orientada a objetos, porque na época dizia-se que o VB era orientado a eventos, e não a objetos.
Acaba ficando confusa a definição de "orientada a objetos".
cSql = cSql & " order by " & txtSqlOrder.Text
If Len(txtBanco.Text) = 0 Then
Set Rs = RsFromConexao(cnConn, "SELECT " & cSql)
Else
Set Rs = RsFromConexao(cnConn, "SELECT " & cSql)
End If
Set MSHFlexGrid1.DataSource = Rs
O Browse do VB.
Criar o recordset, e colocar no MSHFlexGrid.
Algo como criar um temporário e colocar a variável do temporário no tbrowse.
Só relembrando aqui.
Agora ficou mais nÃtido entender o que fazia naquela época kkkk