菜鸟新学,望高手指点!(50分)

  • 主题发起人 主题发起人 linuxcrow
  • 开始时间 开始时间
L

linuxcrow

Unregistered / Unconfirmed
GUEST, unregistred user!
我想实现在程序中enter键替代tab键。<br>不知道我下面的代码有什么问题:<br>首先,在主窗体中声明以下private过程:<br>procedure TMainForm.DoEnterAsTab(var Msg: TMsg; var Handled: Boolean);message WM_KEYDOWN ;<br>begin<br>if Msg.wParam = VK_RETURN then<br>Keybd_event(VK_TAB, 0, 0, 0);<br>end; <br>end;<br><br>在主窗体的OnCreate事件中加入:<br>Application.OnMessage := DoEnterAsTab;<br><br>不知道错在那里。<br>也可以直接给我代码!!<br>谢谢!!<br><br>
 
下面是我摘录的一段代码<br><br>回车替Tab下移控件<br>&nbsp; &nbsp;需要用回车键代替TAB键下移一个控件时,把KeyPress设为True,加入下列代码拦截击键:<br>Procedure TForm1.FormKeyPress(Sender:Tobject;Var Key:Char);<br>Begin<br> if key=#13 then { 判断是按执行键}<br> if not (ActiveControl is TDbgrid) Then<br> Begin { 不是在TDbgrid控件内}<br>  key:=#0;<br>  perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}<br> end else<br> if (ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}<br> begin<br>  With TDbgrid(ActiveControl) Do<br>  if Selectedindex&lt;(FieldCount-1) then<br>  Selectedindex:=Selectedindex+1{ 移动到下一字段}<br>  else Selectedindex:=0;<br> end;<br>End;<br>
 

Similar threads

I
回复
0
查看
489
import
I
I
回复
0
查看
615
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部