投稿日 | : 2005/10/22(Sat) 13:37 |
投稿者 | : 水無月 |
Eメール | : |
URL | : |
タイトル | : Re: MSFlexgridの表示方法 |
使い方を見ますと、チェックボックスを1つクリックするとグリッドの全ての行をチェックして
色づけの動作を行っているように見えますが…
これはForm_Loadの時だけ行い、後はクリックした行の色付けだけでいいのではないのでしょうか?
1行の色付けであれば瞬時に終わりますが…
Private Sub Check1_Click(Index As Integer)
With MSFlexgrid1
' 16カラム目へフラグを立てる
.Row = .TopRow + Index - 1
.TextMatrix(.Row, 16) = Check1(Index).Value '16列目に書き込む
.Visible = False '非表示にする
If .TextMatrix(.Row, 16) = "1" Then '16列目が1なら色付け
For i = .FixedCol to .Cols - 1
.Col = i
.CellBackColor = vbRed
Next
Else
For i = .FixedCol to .Cols - 1
.Col = i
.CellBackColor = &H80000005&
Next
End If
.Visible = True '表示を戻す
End With
End Sub
おまけですが、グリッドのRowHeightMinプロパティをデフォルトの255から300程度に変えると表示ス
ピードが上がります。(遅いマシンでは有効でした)