MSFlexGridで複数の項目が表示されており、その中の一つを選択すると他の項目が表示されないようにするにはどうすればいいのでしょうか? ちなみに、VB6です!

解決


yuuki  2006-01-16 20:20:34  No: 93641

MSFlexGridで複数の項目が表示されており、その中の一つを選択すると他の項目が表示されないようにするにはどうすればいいのでしょうか?お願いします。
  ちなみに、VB6です!


K.J.K.  2006-01-16 20:44:54  No: 93642

選択時の表示にはMSFlexGrid以外の何かを使う、とか。


特攻隊長まるるう  2006-01-16 23:06:56  No: 93643

文章の通りだと、選択されたセル以外のデータを削除するだけでは?
…なんで質問する必要があるのか分からない。

…その後、どう処理を続けるのか考えると更に意味が分からない。


Seraph  2006-01-16 23:28:55  No: 93644

Private Sub MSFlexGrid1_Click()
Dim lngBuf As Long
    With MSFlexGrid1
    .Redraw = False
    lngBuf = .RowHeight(.Row)
    .RowHeight(-1) = 0
    .RowHeight(.Row) = lngBuf
    .Redraw = True
    End With
End Sub

#ちょっとちらつくカモね


ななし  2006-01-16 23:45:25  No: 93645

正直自己満足以外で操作する人のことを何も考えていない
誤って選択したときとか、いろいろ使い勝手が悪そう。


ひろ  2006-01-17 19:39:04  No: 93646

Excelの数式バーみたいに選択したセルを表示する物を目立つ位置に置いておくのでは駄目ですか?


LESIA  2006-01-18 01:44:20  No: 93647

ひょっとしてこういうことだったりして。

Option Explicit

Private flgChange As Boolean

Private Sub Form_Load()
    Dim lngRow As Long
    Dim lngCol As Long
    Dim n As Long
    
    With MSFlexGrid1
        For lngRow = .FixedRows To .Rows - 1
            For lngCol = .FixedCols To .Cols - 1
                .TextMatrix(lngRow, lngCol) = n
                n = n + 1
            Next lngCol
        Next lngRow
    End With
End Sub

Private Sub MSFlexGrid1_RowColChange()
    Dim lngRow As Long
    Dim lngCol As Long
    Dim NowRow As Long
    Dim NowCol As Long
    
    If flgChange = True Then Exit Sub

    NowRow = MSFlexGrid1.Row
    NowCol = MSFlexGrid1.Col
    
    flgChange = True
    
    With MSFlexGrid1
        .Redraw = False
        For lngRow = .FixedRows To .Rows - 1
            .Row = lngRow
            For lngCol = .FixedCols To .Cols - 1
                .Col = lngCol
                If lngRow = NowRow And lngCol = NowCol Then
                    .CellForeColor = vbBlack
                Else
                    .CellForeColor = vbWhite
                End If
            Next lngCol
        Next lngRow
        .Row = NowRow
        .Col = NowCol
        .Redraw = True
    End With

    flgChange = False
End Sub


Seraph  2006-01-18 04:25:03  No: 93648

なるほど!

なんか「神経衰弱」が作れそうだね(^^)


yuuki  2006-01-18 20:24:46  No: 93649

みなさん、解決しました。ありがとうございますm(._.)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加