如题,我要选择行中其他的列怎么办?
解决方案 »
- 64位下 vb.net 2008 无法使用 MSCHRT20.OCX
- 在 MSFgrid或者MSHFgrid中怎么改变指定单元格字体的大小?
- 请问QQ里用的这个控件是什么,哪里有?
- 新手问:vb能调用tuxedo服务吗?谢谢
- 怎样在Outlook的(动作菜单)下添加一新的菜单
- 如何提高串口通信速度
- 如何在98下做异形窗体和半透明窗体?
- 有没有能够判断鼠标按键是否按下的API函数。
- 如何远程(指客户机操作服务器)备份sql server 2000中的数据库?
- 在窗体的通用部分声明public的变量怎么成了全局变量了,如何释放变量呢?
- 用VB编的短息发送程序怎么通过手机发出去?
- vb 变量是不是 在定义完了马上就可以 初始化 ,不必放到 过程里 去初始化,像下面这样可以吧?
mshflexgrid1.col=4
End Sub
然后再自己绘制选择效果
Private Const WM_SETREDRAW = &HBDim m_oldRow As Long
Private Sub Form_Load()
Dim i As Long, j As Long
m_oldRow = -1
Me.ScaleMode = vbPixels
Me.MSHFlexGrid1.FixedRows = 1
Me.MSHFlexGrid1.FixedCols = 1
Me.MSHFlexGrid1.Cols = 5
Me.MSHFlexGrid1.Rows = 10
Me.MSHFlexGrid1.SelectionMode = flexSelectionFree
Me.MSHFlexGrid1.HighLight = flexHighlightNever
For i = 0 To Me.MSHFlexGrid1.Rows - 1
For j = 0 To Me.MSHFlexGrid1.Cols - 1
Me.MSHFlexGrid1.TextMatrix(i, j) = "第" & i + 1 & "行" & j + 1 & "列"
Next
Next
End SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
Me.MSHFlexGrid1.RowSel = Me.MSHFlexGrid1.Row
Me.MSHFlexGrid1.ColSel = Me.MSHFlexGrid1.Col
SendMessage Me.MSHFlexGrid1.hwnd, WM_SETREDRAW, 0, 0&
End If
End SubPrivate Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
Me.MSHFlexGrid1.RowSel = Me.MSHFlexGrid1.Row
Me.MSHFlexGrid1.ColSel = Me.MSHFlexGrid1.Col
SendMessage Me.MSHFlexGrid1.hwnd, WM_SETREDRAW, 1, 0&
End If
End SubPrivate Sub MSHFlexGrid1_RowColChange()
Dim i As Long, iRow As Long, iCol As Long iRow = Me.MSHFlexGrid1.Row
iCol = Me.MSHFlexGrid1.Col
Me.MSHFlexGrid1.FillStyle = flexFillSingle
If m_oldRow > -1 And m_oldRow <> iRow Then
Me.MSHFlexGrid1.Row = m_oldRow
For i = Me.MSHFlexGrid1.FixedCols To Me.MSHFlexGrid1.Cols - 1
Me.MSHFlexGrid1.Col = i
Me.MSHFlexGrid1.CellBackColor = vbWhite
Me.MSHFlexGrid1.CellForeColor = vbBlack
Next
Me.MSHFlexGrid1.Row = iRow
End If
For i = Me.MSHFlexGrid1.FixedCols To Me.MSHFlexGrid1.Cols - 1
Me.MSHFlexGrid1.Col = i
If i = iCol Then
Me.MSHFlexGrid1.CellBackColor = vbWhite
Me.MSHFlexGrid1.CellForeColor = vbBlack
Else
Me.MSHFlexGrid1.CellBackColor = &HC56A31
Me.MSHFlexGrid1.CellForeColor = vbWhite
End If
Next
Me.MSHFlexGrid1.Col = iCol
m_oldRow = Me.MSHFlexGrid1.Row
End Sub