tagCANDY CGI VBレスキュー(花ちゃん) - フレキシブルグリッド複数選択不可(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
フレキシブルグリッド複数選択不可(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

フレキシブルグリッド複数選択不可(VB6.0) [No.11の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2007/07/15 20:16
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[グリッド関係][データベース][]                                      *
* キーワード:フレックスグリッド,MSHFlexGrid,複数行,選択できない,選択出来ない,    *
***********************************************************************************

------------------------------------------------------------------------------------
No.652 Re:フレキシブルグリッド複数選択不可  投稿者:ゆう(U) [1999/08/20(金)2:26分]
------------------------------------------------------------------------------------

これならいかが・・・

Option Explicit
Private blnMouseDown As Boolean
Private blnShift As Boolean

Private Sub Form_Load()
  With MSFlexGrid1
    .FocusRect = flexFocusNone
    .HighLight = flexHighlightAlways
    .SelectionMode = flexSelectionByRow
  End With
End Sub

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
  If Shift And vbShiftMask = vbShiftMask Then
    blnShift = True
  End If
End Sub

Private Sub MSFlexGrid1_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyShift Then
    blnShift = False
  End If
End Sub

Private Sub MSFlexGrid1_MouseDown(Button As Integer, _
                        Shift As Integer, x As Single, y As Single)
  With MSFlexGrid1
    If .MouseRow < .FixedRows Then
      If .MouseCol < .FixedCols Then
        .Row = .FixedRows
        .ColSel = .Cols - 1
      End If
    Else
      .Row = .MouseRow
      .ColSel = .Cols - 1
    End If
    If Button = vbLeftButton Then
      blnMouseDown = True
    End If
  End With
End Sub

Private Sub MSFlexGrid1_MouseMove(Button As Integer, _
                       Shift As Integer, x As Single, y As Single)
  With MSFlexGrid1
    If blnMouseDown Then
      If .Row = .MouseRow Then Exit Sub
      If .MouseRow < .FixedRows Then
        If .Row = .FixedRows Then Exit Sub
        .Row = .FixedRows
      Else
        .Row = .MouseRow
      End If
      .ColSel = .Cols - 1
    End If
  End With
End Sub

Private Sub MSFlexGrid1_MouseUp(Button As Integer, _
                          Shift As Integer, x As Single, y As Single)
  If Button = vbLeftButton Then
    blnMouseDown = False
  End If
End Sub

Private Sub MSFlexGrid1_SelChange()
  Static blnFlg As Boolean

  If Not blnFlg Then
    blnFlg = True
    If blnShift Then
      With MSFlexGrid1
        .Row = .RowSel
        .ColSel = .Cols - 1
      End With
    End If
    blnFlg = False
  End If
End Sub


念のため・・・

Private Sub Form_Load()
  With MSFlexGrid1
    .FocusRect = flexFocusNone
    .HighLight = flexHighlightAlways
    .SelectionMode = flexSelectionByRow
    .ColSel = .Cols - 1
  End With
End Sub

と、した方が良いみたいですね。
メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ