按左右光标切换到相邻单元格
问题描述:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office[/img]<o:p></o:p>
如何在DW中按下左右光标时切换到相邻单元格?<o:p></o:p>
解决方案:<o:p></o:p>
首先声明外部函数:<o:p></o:p>
<o:p></o:p>
Subroutine keybd_event(int bVk,int bScan,ulong dwFlags,ulong dwExtraInfo) LIBRARY "user32.dll[/img]</o:p>
<o:p></o:p>
一、如果不想在DW的单元格内利用左右键编辑内容,只要一按下左右键就切换到其他单元格的话可以:<o:p></o:p>
<o:p></o:p>
新建ue_key 对应 pbm_dwnkey ,代码如下:<o:p></o:p>
<o:p></o:p>
if key=keyleftarrow! then<o:p></o:p>
keybd_event(16,0,0,0) //按下SHIFT键<o:p></o:p>
keybd_event(9 ,0,0,0) //按下下TAB <o:p></o:p>
keybd_event(9 ,0,2,0) //放开TAB键 <o:p></o:p>
keybd_event(16,0,2,0) //放开SHIFT键<o:p></o:p>
return 1<o:p></o:p>
elseif key=keyrightarrow! then<o:p></o:p>
keybd_event(9 ,0,0,0) //按下下TAB <o:p></o:p>
keybd_event(9 ,0,2,0) //放开TAB键 <o:p></o:p>
return 1<o:p></o:p>
end if<o:p></o:p>
<o:p></o:p>
二、如果还想在DW的单元格内利用左右键编辑内容,只在空或者全选时按下左右键才切换到其他单元格的话可以:<o:p></o:p>
<o:p></o:p>
新建ue_key 对应 pbm_dwnkey ,代码如下:<o:p></o:p>
<o:p></o:p>
integer li_len,li_len_selected<o:p></o:p>
<o:p></o:p>
li_len=len(this.gettext())<o:p></o:p>
li_len_selected=len(this.SelectedText())<o:p></o:p>
<o:p></o:p>
if not (isnull(this.gettext()) or this.gettext()="[/img]</o:p>
<o:p></o:p>
if key=keyleftarrow! then<o:p></o:p>
keybd_event(16,0,0,0) //按下SHIFT键<o:p></o:p>
keybd_event(9 ,0,0,0) //按下下TAB <o:p></o:p>
keybd_event(9 ,0,2,0) //放开TAB键 <o:p></o:p>
keybd_event(16,0,2,0) //放开SHIFT键<o:p></o:p>
return 1<o:p></o:p>
elseif key=keyrightarrow! then<o:p></o:p>
keybd_event(9 ,0,0,0) //按下下TAB <o:p></o:p>
keybd_event(9 ,0,2,0) //放开TAB键 <o:p></o:p>
return 1<o:p></o:p>
end if<o:p></o:p>