首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

msflexgrid里捕捉方向键的有关问题,寻!

2012-04-02 
msflexgrid里捕捉方向键的问题,急寻高手指点!!!!!!!!PublicSubMSFlexGrid4_KeyDown(KeyCodeAsInteger,Shif

msflexgrid里捕捉方向键的问题,急寻高手指点!!!!!!!!
Public   Sub   MSFlexGrid4_KeyDown(KeyCode   As   Integer,   Shift   As   Integer)
'   Save   the   position   of   the   grids   Row   and   Col   for   later:

MsgBox   KeyCode
'   key   "   LEFT   "
If   KeyCode   =   97   And   MSFlexGrid4.Col   >   1   Then
MSFlexGrid4.Col   =   MSFlexGrid4.Col   -   1
End   If
'   key   "   RIGHT   "
If   KeyCode   =   99   And   MSFlexGrid4.Col   <   MSFlexGrid4.Cols   -   1   Then
MSFlexGrid4.Col   =   MSFlexGrid4.Col   +   1
End   If
'   key   "   UP   "
If   KeyCode   =   101   And   MSFlexGrid4.Row   >   1   Then
MSFlexGrid4.Row   =   MSFlexGrid4.Row   -   1
End   If
'   key   "   DOWN   "
If   KeyCode   =   98   And   MSFlexGrid4.Row   <   MSFlexGrid4.Rows   -   1   Then
MSFlexGrid4.Row   =   MSFlexGrid4.Row   +   1
End   If
end   sub  

为什么捕捉不到“上下左右”键呢?其余的键都可以的

郁闷,请大侠指点!!!!

[解决办法]
写这些代码干什么?
msflexgrid自带这个功能啊
如果想捕捉方向键,可以用subclass
顺便还可以给它添加滚轮的功能。
[解决办法]
怎么会不变呢?
你加上这句试试,按方向键的时候行列是跟着变化的
Private Sub MSFlexGrid1_RowColChange()
Debug.Print MSFlexGrid1.Row; MSFlexGrid1.Col
End Sub

[解决办法]
好像MS的这个控件没有这个功能,表格中无法捕捉到方向键的值

可以得用API函数来实现
[解决办法]
方向键的值应该是。。。。
KeyCode = 37 '左
KeyCode = 38 '上
KeyCode = 39 '右
KeyCode = 40 '下

呵呵,,不知道在“MSFlexGrid4_KeyDown”事件中有没有用。。
你可在事件中写“Debug.Print KeyCode”试试。。

[解决办法]
试过了捕捉不到 ,但是mshflexgrid可以捕捉到,楼住可以试试

热点排行