• VB MSFlexGrid控件使用问题


    1、自动选中某一行,设置好 selectionmode、backcolorsel、等属性

      msfg.row=1:  msfg.col=0:  msfg.colsel=msfg.cols-1

    ============================================================

    2、.TextMartix(row,col)  的方式 效率上优于 .row: .col : .Text 的方式

    ============================================================

    3、对Up、Down、PgUp、PgDn、Ctr+Up、Ctr+Dn键的响应问题

      (1) 正常情况下,按下上述键,表格的焦点行,会自动跳转,并且焦点行,始终在界面上可见

      (2) 如果在MSFG的RowColChange 或 EnterCell事件中对MSFG单元格的处理(用到了.row,.col去处理某些问题),这些影响到了上述键的使用,

        问题:焦点行会自动跳转,但界面上并不可见-------------应该是MSFG控件本身的问题

        解决:可以根据旧焦点行(oldRow),与当前焦点行(curRow),及2者差值(Abs(curRow-oldRow)),手动改变.TopRow属性

        

    参照-----------------------
    '
    -----修改表格按键改变行,选中行在界面不可见问题----- If Abs(curRow - oldRow) = 1 Then 'Up ,Down 键 If curRow < oldRow Then If Not .RowIsVisible(curRow) Then '---------------Up .TopRow = .TopRow - 1 End If ElseIf curRow > oldRow And curRow < .Rows - 1 Then '--Down If Not .RowIsVisible(curRow + 1) Then .TopRow = .TopRow + 1 End If End If ElseIf Abs(curRow - oldRow) > 1 Then If curRow = .Rows - 1 Then '--------------------------Ctr+Down .TopRow = .Rows - 1 ElseIf curRow = .FixedRows Then '--------------------Ctr+Up .TopRow = .FixedRows ElseIf Not .RowIsVisible(curRow) Then ' If curRow > oldRow Then '-------------------------PgDn If curRow < .Rows - 1 Then .TopRow = oldRow Else .TopRow = .Rows - 1 End If Else '-----------------------------------------PgUp If curRow > .FixedRows Then .TopRow = curRow Else .TopRow = .FixedRows End If End If End If End If
  • 相关阅读:
    [MFC]LPSTR LPCSTR LPWSTR LPCWSTR
    [Color]ARGB各个含义
    IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
    深入理解JavaScript系列(49):Function模式(上篇)
    如何提升JavaScript的递归效率
    深入理解JavaScript系列(47):对象创建模式(上篇)
    Jquery autocomplete插件的使用
    jQuery data(key, value)函数 在匹配的元素上随心所欲的存放数据 (2
    如何提升JavaScript函数的运行速度
    jQuery UI Autocomplete是jQuery UI的自动完成组件
  • 原文地址:https://www.cnblogs.com/xbj-hyml/p/3480208.html
Copyright © 2020-2023  润新知