投稿日 | : 2004/10/04(Mon) 01:36 |
投稿者 | : 水無月 |
Eメール | : |
URL | : |
タイトル | : Re: MSFlexGrid でセルを未選択状態にする |
次のやり方はいかがでしょうか?(外していたらごめんなさいです)
「行の選択」状態を、プロシージャを作成してそれらしく見せる、というやり方です
次のとおりです。
該当フォームのモジュール先頭に
Private myLoad as Boolean'ユーザが行を変えた場合True、「行選択」プロシージャ実行中はFalse
Private myCol as Integer'列の記憶値
Private myColor as Long'セルの背景色
MSFlexGrid1_RowColChangeに以下を書き込む
If myLoad=False then Exit Sub'「行選択」プロシージャ実行中は無視
myLoad=False
行選択 True'通常の「行選択」プロシージャを実行
myLoad=True
次のプロシージャを追加
Private Sub 行選択(Sentaku as Boolean)
if myLoad=False then Exit Sub
With MSFlexGrid1
.HighLight=0
.Visible=False'表示を消す
.myCol=.Col'列を記憶
'■■行選択状態はTrue
If Sentaku=True then
myColor=&H00FF0000&'セルの背景色を青にする→好みで色を変えて下さい
.FocusRect=1'好みで2でもOk
'■■行選択を解除する場合はFalse
Else
myColor=&H80000005&'セルの背景色を白にする
.FocusRect=0
End If
For i=0 to .Cols-1
.CellBackColor=myColor
Next
.Col=myCol
.Visible=True
End With
myLoad=True
End Sub
もし修正状態で、行の選択をしたくない場合は、「行選択 False」と書き込んで実行し、
終わったら「行選択 True」を実行します