zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    HDU 4539郑厂长系列故事――排兵布阵(状压DP)
    HDU 2196Computer(树形DP)
    HDU 4284Travel(状压DP)
    HDU 1520Anniversary party(树型DP)
    HDU 3920Clear All of Them I(状压DP)
    HDU 3853LOOPS(简单概率DP)
    UVA 11983 Weird Advertisement(线段树求矩形并的面积)
    POJ 2886Who Gets the Most Candies?(线段树)
    POJ 2828Buy Tickets
    HDU 1394Minimum Inversion Number(线段树)
  • 原文地址:https://www.cnblogs.com/xbj-hyml/p/3480208.html
Copyright © 2011-2022 走看看