1、自動選中某一行,設置好 selectionmode、backcolorsel、等屬性
msfg.row=1: msfg.col=0: msfg.colsel=msfg.cols-1
activeX控件,============================================================
2、.TextMartix(row,col)? 的方式 效率上優于 .row: .col : .Text 的方式
============================================================
vb中的控件是什么意思。3、對Up、Down、PgUp、PgDn、Ctr+Up、Ctr+Dn鍵的響應問題
(1) 正常情況下,按下上述鍵,表格的焦點行,會自動跳轉,并且焦點行,始終在界面上可見
(2) 如果在MSFG的RowColChange 或 EnterCell事件中對MSFG單元格的處理(用到了.row,.col去處理某些問題),這些影響到了上述鍵的使用,
vb常用可視化控件, 問題:焦點行會自動跳轉,但界面上并不可見-------------應該是MSFG控件本身的問題
解決:可以根據舊焦點行(oldRow),與當前焦點行(curRow),及2者差值(Abs(curRow-oldRow)),手動改變.TopRow屬性
參照-----------------------
'-----修改表格按鍵改變行,選中行在界面不可見問題-----If Abs(curRow - oldRow) = 1 Then 'Up ,Down 鍵If curRow < oldRow ThenIf Not .RowIsVisible(curRow) Then '---------------Up.TopRow = .TopRow - 1End IfElseIf curRow > oldRow And curRow < .Rows - 1 Then '--DownIf Not .RowIsVisible(curRow + 1) Then.TopRow = .TopRow + 1End IfEnd IfElseIf Abs(curRow - oldRow) > 1 ThenIf curRow = .Rows - 1 Then '--------------------------Ctr+Down.TopRow = .Rows - 1ElseIf curRow = .FixedRows Then '--------------------Ctr+Up.TopRow = .FixedRowsElseIf Not .RowIsVisible(curRow) Then ' If curRow > oldRow Then '-------------------------PgDnIf curRow < .Rows - 1 Then.TopRow = oldRowElse.TopRow = .Rows - 1End IfElse '-----------------------------------------PgUpIf curRow > .FixedRows Then.TopRow = curRowElse.TopRow = .FixedRowsEnd IfEnd IfEnd IfEnd If
VB基本控件、?