VB-MSHFlexGrid 的使用直接将查询数据填入 MSHFLEXGRID:SubQueryFromSybasebyCon(Condition)WithQEvent‘ QEvent为 Form名称Con.OpenstrConnRemoters.CursorLocation=adUseClientrs.CursorType=adOpenKeysetOnErrorResumeNextRs.Open"select*where"&Condition&"orderbyevent_ts",Con,3,1‘Condition为 SQL查询条件.MSHFlexGrid1.Redraw=False‘重绘,可大大提高 Grid 的格式化后显示速度Set.MSHFlexGrid1.DataSourceRsSetRs=NothingSetCon=NothingEndWithEndSub2.设置MSHFlexGrid 的格式SubFormatFlexGrid()WithQEvent.MSHFlexGrid1If.Rows>1And.TextMatrix(1,1)<>""Then'SetColumnwidth.ColWidth(0)=3000'SetColumnheader.TextMatrix(0,0)="Test"‘设置对齐.ColAlignment(5)=flexAlignRightCenterEndIf‘设置整行的颜色.Redraw=False.Row=3.Col=0.ColSel=.Cols- 1.CellBackColor=RGB(254,216,209).Redraw=TrueEndWithEndSub3.支持滚轮事件‘模块部分PublicCnAsNewADODB.ConnectionPublicConstGWL_WNDPROC=(-4)PublicConstWM_COMMAND=&H111PublicConstWM_MBUTTONDOWN=&H207Public Const WM_MBUTTONUP = &H208Public Const WM_MOUSEWHEEL = &H20APublic OldwinprocAs LongPublicDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA" (ByVal hwnd As Long, _ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublicDeclareFunctionCallWindowProcLib"user32"Alias"CallWindowProcA" (ByVal lpPrevWndFunc As Long, _ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVallParam As Long) As LongPublicDeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA" (ByVal hwnd As Long, _ByVal nIndex As Long) As LongPublic Declare Function ShellExecute Lib "shell32.dll" Alias"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String,ByVal lpFile As String, ByVal lpParameters As String, ByVallpDirectory As String, ByVal nShowCmd As Long) As Long‘支持鼠标动作的函数Public Function FlexScroll(ByVal hwnd As Long, ByVal wMsgAs Long, ByVal wParam As Long, ByVal lParam As Long) As LongSelect Case wMsgCase WM_MOUSEWHEELSelect Case wParamCase -7...