MSFlexGridで任意の行を選択し、そのままマウスクリックした状態で上下に移動し
マウスクリックを解除すると複数行が反転表示されてしまいます。
このような時に最初に選択した行のみを反転表示するようにしたいのですが
どのようにしたらよろしいでしょうか?
よろしくお願いします。
マウスの動作のみ対応してます(キーボードでは複数行選択可のまま)
例えばこんな感じ?
[VB6.0]
Option Explicit
Private mCurrentRow As Integer
Private Sub Form_Load()
Dim i As Integer
With Me.MSHFlexGrid1
.Rows = 10
.Cols = 10
.SelectionMode = flexSelectionByRow
For i = .FixedRows To .Rows - 1
.TextArray(Fgi(i, 0)) = i
Next
For i = .FixedCols To .Cols - 1
.TextArray(Fgi(0, i)) = i
Next
End With
End Sub
Function Fgi(r As Integer, c As Integer) As Integer
Fgi = c + Me.MSHFlexGrid1.Cols * r
End Function
Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
With Me.MSHFlexGrid1
.row = mCurrentRow
.ColSel = .Cols - 1
End With
End Sub
Private Sub MSHFlexGrid1_RowColChange()
mCurrentRow = Me.MSHFlexGrid1.row
End Sub
あ。
MSHFlexGrid1 → MSFlexGrid1 で(汗)
…同じ動作しますが、一応。
ありがとうございます。
解決しました。
すごく早いですね。
感謝です!!