投稿日 | : 2002/12/07(Sat) 23:08 |
投稿者 | : ぼくのタイプ |
Eメール | : |
URL | : |
タイトル | : MSFlexGridで複数選択 |
MSFlexGridで複数選択をしたくて以下のものを書きました。
このままでは、マウスクリックを二度行わないと反転表示されません。
一度目のクリックの時に何故反応しないのでしょうか?
'MSFlexGrid1のプロパティ
'アクティブセル=1-Left
'選択モード=1-By Row
Private Sub MSFlexGrid1_Click()
Label1.Caption = MSFlexGrid1.Col 'test
If MSFlexGrid1.CellBackColor = vbWhite Then
Call Change_RowColor(QBColor(15), QBColor(3)) 'ForeColor,BackColor
Else
Call Change_RowColor(QBColor(0), QBColor(15))
End If
End Sub
Private Sub MSFlexGrid1_MouseMove(Button As --中略--, y As Single)
Dim iNowPos As Integer
MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
If MSFlexGrid1.MouseRow <> iBeforeMousePos Then
If MSFlexGrid1.MouseRow = 0 Then
iNowPos = 1
Else
iNowPos = MSFlexGrid1.MouseRow
MSFlexGrid1.Row = iNowPos
MSFlexGrid1.Col = 0
iBeforeMousePos = iNowPos
End If
End If
End Sub
Private Sub Change_RowColor(sForeColor As String, sBackColor As String)
Dim i As Integer
For i = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = sBackColor 'QBColor(15)
MSFlexGrid1.CellForeColor = sForeColor 'QBColor(0)
Next i
End Sub