delphi 按键时转成其他的字符被输入到EDIT中

我希望在按下回车键以后edit中的内容是在光标处增加一个X字符,改如何实现?edit.text:=edit.text+'x'无法实现功能需求... 我希望在按下回车键以后edit中的内容是在光标处增加一个X字符,改如何实现?
edit.text:=edit.text+'x'无法实现功能需求
展开
 我来答
swordwindpla
2013-11-29 · TA获得超过339个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:82.6万
展开全部

如果只是在光标处增加一个X而不需要进行其他操作(比如点击某个按钮或SetFocus其他控件)的话,请按以下操作写代码:

  1. 找到Edit控件的Events(事件),双击OnKeyPress右边的空白处添加事件

  2. 在新添加的procedure TForm1.editKeyPress(Sender: TObject; var Key: Char);事件中输入以下代码:

if key=#13 then
    key:=#88;

或者key:=#120;

88是大写的X,120是小写的x

追问
额,这个X不是字母X,而是我在搜狗输入法中在v1里面找到的一个字符X,还是个全角的,由于这个X将用来表示已个长X宽的尺寸,而这个尺寸最后还将作为文本并表示在新建的文件夹名称中,所以在样式和合法性上考虑的有点多
追答

改成如下代码吧(中间想插入什么字符串你直接改就行,我还是以X作为例子写的代码):

procedure TForm1.editKeyPress(Sender: TObject; var Key: Char);
var
  pos:integer;
begin
  if key=#13 then
    begin
      key:=#0;
      pos:=edit.SelStart;
      edit.Text:=leftstr(edit.Text,pos)+'X'+rightstr(edit.Text,length(edit.Text)-pos);
      edit.SelStart:=pos+1;
    end;
end;
syht2000
高粉答主

2013-11-29 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
在其它大多数软件中,表示长*宽的中间那个符号都是小写的x,而且按回车输入这个符号也不太符合惯例,一般建议分成两个文本框来处理,或者由用户自行输入AxB这种格式,确定或者提交时你可以检查它的合法性(用正则之类检查都行,这个随你了)
追问
之前我也是这么解决的,但是为了加快操作,另外规范数据,所以才改成这样的方法,因为东西的规格类型很多,长X宽是其中的一类,所以想简化一下在切换规格类型时候需要的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式