Dm中按下左右光标时切换到相邻单元格

2007-05-15     推荐:83    收藏:51    评论:0     来源:e800开发者频道
问题描述:

如何在DW中按下左右光标时切换到相邻单元格?

解决方案:

首先声明外部函数:

Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32.dll"

一、如果不想在DW的单元格内利用左右键编辑内容,只要一按下左右键就切换到其他单元格的话可以:

新建ue_key 对应 pbm_dwnkey ,代码如下:

if key=keyleftarrow! then

keybd_event(16,0,0,0) //按下SHIFT键

keybd_event(9 ,0,0,0) //按下下TAB

keybd_event(9 ,0,2,0) //放开TAB键

keybd_event(16,0,2,0) //放开SHIFT键

return 1

elseif key=keyrightarrow! then

keybd_event(9 ,0,0,0) //按下下TAB

keybd_event(9 ,0,2,0) //放开TAB键

return 1

end if

二、如果还想在DW的单元格内利用左右键编辑内容,只在空或者全选时按下左右键才切换到其他单元格的话可以:

新建ue_key 对应 pbm_dwnkey ,代码如下:

integer li_len,li_len_selected

li_len=len(this.gettext())

li_len_selected=len(this.SelectedText())

if not (isnull(this.gettext()) or this.gettext()="" or li_len=li_len_selected) then return

if key=keyleftarrow! then

keybd_event(16,0,0,0) //按下SHIFT键

keybd_event(9 ,0,0,0) //按下下TAB

keybd_event(9 ,0,2,0) //放开TAB键

keybd_event(16,0,2,0) //放开SHIFT键

return 1

elseif key=keyrightarrow! then

keybd_event(9 ,0,0,0) //按下下TAB

keybd_event(9 ,0,2,0) //放开TAB键

return 1

end if
您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: