如何定义快捷键?(50分)

  • 主题发起人 主题发起人 yyu
  • 开始时间 开始时间
Y

yyu

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在DELPHI中为某个字符(如Ω,φ)为F10,F11等键,要求在TEDIT,TDBEDIT等输入控件中能在任何时候输入字符。谢谢!
 
//for no delphi on my machine, I'm not sure if all are right!
//I think the mathod is good, check it out
1.Set Form's keypreview to true;
2.On Form's OnKeyPress event:
if Sender is TEdit then
begin
if (Sender as TEdit).Name = 'Edit1' then
begin
if Key = yourKey then
begin
Key := nil;
Edit1.Text := Edit1.Text + YourString;//perhaps some insert text mathod
end;
end;
end;
 
这个程序我已用过,每次按键后光标总回到前面,不方便。我的意思是任意输入
(即光标在输入字符后)还有此方法在TDBEDIT中不能使用,能否改进?
 
OnKeyDownEvent:
if []=Shift then
case Key of
VK_F1..VK_F12:
begin
wKey := Key-VK_F1+1;
Key := 0;
sKeys := yKeyMaps[wKey];
for i:=1 to Length(sKeys)do
PostMessage(Self.Handle, WM_CHAR, Byte(sKey),0);
end;
end;
 
没办法,手里没DELPHI,我急呀,眼看分数被抢了,我哭……
 
输入后,用selstart:=sizeof(edit1.text)把光标移到最后不就行了?
 
opq的程序,我无法编译,为何??
 
请研究关于Tform的onShortcut
 
这么晚了,还不睡觉?
 
CJ的热心,beta的提示,给我很大的帮助,谢谢,
只是opq的代码的看不懂,又不能调试,只好少一点了。
 
多人接受答案了。
 

Similar threads

回复
0
查看
816
不得闲
D
回复
0
查看
839
DelphiTeacher的专栏
D
D
回复
0
查看
845
DelphiTeacher的专栏
D
后退
顶部