|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2003/9/19 9:32:02 |
标题: |
如何在得到键盘输入ENTER键向程序中发送TAB键,求你了 |
浏览:1600 |
|
加入我的收藏 |
楼主: |
我想在DBEDIT中输入后回车键跳转到下一个字段,系统默认是TAB键,如何对ENTER编程,请赐教。谢谢了。
----------------------------------------------
zyt |
作者: |
cjrb (Thinking In 魂) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/9/19 9:49:00 |
1楼: |
perform(WM_NEXTDLGCTL,0,0);这是向下移动,
perform(WM_NEXTDLGCTL,1,0);即可向上移动
perform(WM_NEXTDLGCTL,0,1)
控制焦点移动,还可以利用TWinControl.SelectNext()方法来做!
*********************
Form.KeyPreview := true; 在Form的KeyDown中
if Key = VK_RETURN then
begin
if ActiveControl is TDBGrid or ... then
PostMessage(ActiveControl.Handle, WM_KEYDOWN, VK_TAB, 0);
else
PostMessage(Handle, WM_KEYDOWN, VK_TAB, 0);
Key := 0;
end
---------------
procedure EnterToTab(aForm: TForm; var Key: Char);
begin
if Key = #13 then
begin
key := #0;
aForm.Perform(CM_DialogKey, VK_TAB, 0);
end;
end;
***************
或者拦截Application.OnMessage即可,添加代码:
if Msg.Message = WM_KEYDOWN then
begin
if Msg.wParam = VK_RETURN then
Keybd_event(VK_TAB, 0, 0, 0);
end; //if
----------------------------------------------
充电..........
|
作者: |
|
2003/9/19 9:56:44 |
2楼: |
不错 高!
----------------------------------------------
|
作者: |
|
2003/9/22 13:23:09 |
3楼: |
太好了,谢谢
----------------------------------------------
zyt
|
作者: |
|
2003/12/16 20:22:18 |
4楼: |
十分好,我喜欢。
----------------------------------------------
-
|
作者: |
|
2003/12/16 20:27:42 |
5楼: |
学习
----------------------------------------------
=^@^=
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2003/12/16 20:34:18 |
6楼: |
----------------------------------------------
|
|