在MSHFlexGrid控件中,当单击某一行时,怎样设置可以使该行前面的固定行显示箭头或其他东西,表示该行被选中,而其他固定行上没有内容。

解决方案 »

  1.   

    以前做过,一个很笨的方法:添加一个PictureBox,给它设置Picture,然后在RowColChanged/Scroll事件中改变PictureBox的位置,使它刚才在当前行的上方。
      

  2.   

    Private Sub MSHFlexGrid1_Click()
        Dim I As Long
        With MSHFlexGrid1
            For I = 1 To .Rows - 1
                .TextMatrix(I, 0) = ""
            Next
            .TextMatrix(.Row, 0) = "√"
        End With
    End Sub
      

  3.   

    多谢anosoft(全方)、 junwhj(junwhj.myrice.com) ,
    anosoft(全方)的方法我也想到了,多谢。
    马上结帖。
      

  4.   

    鍦ㄧ獥浣撲笂鐢讳釜picturebox閲岄潰鍔犺浇涓澶?>) ,涓€涓猰shflexgrid 鐒跺悗灏嗕笅闈唬鐮佺矘鍒扮獥浣撲腑鍗冲彲鐪嬪埌缁撴灉
    Option ExplicitPrivate Sub Form_Load()
        
        
        grd.Rows = 10
        Picture1.ZOrder 0
        grd.ColWidth(0) = 250
        
    End SubPrivate Sub grd_EnterCell()
        Picture1.Move grd.Left + grd.ColPos(0) + 50, grd.Top + grd.RowPos(grd.Row) + 10, grd.ColWidth(0), grd.RowHeight(grd.Row)
    End Sub