李 李辰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #1 我正做一个软键盘,键按下后在一个EDIT里显示, 怎么实现? 如果直接赋值会覆盖前面的,有没有什么函数或方法?
S santgan Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #2 现将Edit里面的string取出来,将你的字符附加到末尾,再将字符串返回Edit里面。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #3 edit1.text:=edit1.text+'yourcode';不会覆盖
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #4 procedure InsertStr(AEdit: TEdit; S: String); var S1, S2: String; Id: Integer; begin with AEditdo begin Id := SelStart; S1 := Copy(Text, 1, Id); Id := SelStart + SelLength; S2 := Copy(Text, Id + 1, Length(Text) - Id); Text := S1 + S + S2; SetFocus; SelStart := SelStart + Length(S); end; end;
procedure InsertStr(AEdit: TEdit; S: String); var S1, S2: String; Id: Integer; begin with AEditdo begin Id := SelStart; S1 := Copy(Text, 1, Id); Id := SelStart + SelLength; S2 := Copy(Text, Id + 1, Length(Text) - Id); Text := S1 + S + S2; SetFocus; SelStart := SelStart + Length(S); end; end;
李 李辰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #7 edit1.text:=edit1.text+'yourcode'; 可以,但是光标不动
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #9 加上 Edit1.SetFocus; Edit1.SelStart := Edit1.SelStart + Length(yourcode); 如何?我没有Delphi测试……
李 李辰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #10 wjiachun,Croco都试过了光标还是停在第一个字母后面。
O OpuBF Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #11 Edit1.SelStart := Length (Edit1.Text) ^-^
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #12 改一句: SelStart := Id + Length(S); end; ^^ end;
李 李辰 Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-08 #13 Croco大哥: 还是不幸。 OpuBF兄: 倒是好一点,只是不能插入。
K killgates Unregistered / Unconfirmed GUEST, unregistred user! 2000-06-09 #14 var ckey:char; ckey := yourcode; SendMessage(edit1.Handle,WM_CHAR,Ord(cKey),0); 一切搞定