TEdit处理键盘连击时的编码问题?
我想把TEdit中的所有字符符号'*'变成汉字符号'×',我写了以下代码,可是,当我一直按住某一键时不能的到我想要的结果,结果还是原先的字符符号,请问如何解决?EdtTxt:String;//全局变量,保存字符串
EdtSt:integer;//全局变量,保存字符串光标procedure TAppLiFrm.JssEdtKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
Oprstr:WideString='+-×÷[]';
var
ch:WideChar;
begin
//+-×÷[]
case Ord(key) of
107:begin
EdtSt:=JssEdt.SelStart+1;
EdtTxt:=JssEdt.Text;
Insert(OprStr[1], EdtTxt, EdtSt);
EdtSt:=EdtSt+1;
end;
//……
end;
end;procedure TAppLiFrm.JssEdtKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin //编码
case key of
107:begin
JssEdt.Text:=EdtTxt;
JssEdt.SelStart:=EdtSt;
end;
//……
end;
end;
我想把TEdit中的所有字符符号'*'变成汉字符号'×',我写了以下代码,可是,当我一直按住某一键时不能的到我想要的结果,结果还是原先的字符符号,请问如何解决?EdtTxt:String;//全局变量,保存字符串
EdtSt:integer;//全局变量,保存字符串光标procedure TAppLiFrm.JssEdtKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
Oprstr:WideString='+-×÷[]';
var
ch:WideChar;
begin
//+-×÷[]
case Ord(key) of
107:begin
EdtSt:=JssEdt.SelStart+1;
EdtTxt:=JssEdt.Text;
Insert(OprStr[1], EdtTxt, EdtSt);
EdtSt:=EdtSt+1;
end;
//……
end;
end;procedure TAppLiFrm.JssEdtKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin //编码
case key of
107:begin
JssEdt.Text:=EdtTxt;
JssEdt.SelStart:=EdtSt;
end;
//……
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货