vb msflexgrid 的compare事件怎么用,也就是sort=9事件的具体使用方法。

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:29:14
看不懂msdn上的东西,要一些简单的小例子,像“col=1升序,col=2降序,col=3再升序”之类的排序。。。

Private Sub MSHFlexGrid2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) '鼠标键抬起事件(设置鼠标右键事件)
With MSHFlexGrid2

If Button = 2 Then '当鼠标按键抬起时判断左键还是右键,当右键抬起时Button变量等于2(vbRightButton)执行弹出菜单语句,并在语句内部判断右键单击标题行以外执行

Colx = .Col '将MSHFlexGrid控件的列数据附给列变量Colx
Rowx = .Row '将MSHFlexGrid控件的行数据附给行变量Rowx

If .FixedRows - 1 = .MouseRow Then '如果鼠标所在的行是标题行(第一行/固定行)时,不做任何操作、点击鼠标没有反应(鼠标左键不用此句,默认不能选中固定行)

Else '否则执行以下右键动作语句

.Row = .MouseRow '因MSHFlexGrid.Row默认代表鼠标左键选中的行,现设置当鼠标右键抬起时鼠标所在的行(MSHFlexGrid.MouseRow)等于MSHFlexGrid.Row(当前选中的行),即右键选中的行模拟成与左键选中相同的效果

.Col = 0 '选中行的当前列从第一列开始为系统蓝色

.ColSel = .Cols - 1 '由上句第一列开始到被选择的列区域等于所在行的全部列(.Cols-1)为系统蓝色,从而实现了鼠标右键选中行与左键选中相同效果