(分全给您)怎样将Edit1内容显示在Label1上。(10分)

  • 主题发起人 主题发起人 ptfjy
  • 开始时间 开始时间
P

ptfjy

Unregistered / Unconfirmed
GUEST, unregistred user!
光标在Edit1上, 怎样使在键盘上输入的内容,
显示在Label1上?
 
在edit onchange事件中 写修改label1的语句
label1.caption:=edit1.text
 
在edit1的onkeydown事件中加入:
lable1.caption:=edit1.text;

就可以了!
 
同意楼上两位的意见
 
我的意思是Edit1的内容不改变,
就像在五笔输入法中,光标在Edit1上,输入WGE后,
这三个英文还在输入法中显示着。
 
easy!!

在edit onchange事件中 写修改label1的语句
begin
label1.caption:=edit1.text;
edit1.text:='';
end;
 
用上面的方法不能解决我的问题,我希望Edit1内容眼睛要看不到变化。

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Label1.Caption:=key;
key:=#0;
end;
以上为我的代码, 但是不行, 因为我不知道Key怎样转化给Label1。
(在线等待)请各位帮忙解决。
 
不知道你的意思是不是说要在Edit1中有输入的动作,但是Edit1
内容却不改变,而Label1.caption却会随着输入内容而改变?

如果是,你要在什么时候Edit1不响应输入(改变显示)?
你Edit1中的内容中如何输入进去的?
另外,这个用途是什么。

说清楚一些好回答一点。
 
用STR把KEY的值先转成字符,然后再给lable
 
首先声明一个全局变量
var
charbuffer:string;
procedure tform1.edit1keypress(sender:tobject;var key:char);
begin
label1.caption:=label1.caption+key;
key:=#0;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_space then
begin
edit1.Text:=charbuffer;
charbuffer:='';
end;
end;
 
娃娃, 你好!
对不起刚才我的提问不是很清楚。
我在编一个打字通软件, 在一个很长的Edit1上面输入汉字,
比如说,要输入的第一个字是“傅”,那么在键盘上输入“WGE”,
此时,“WGE”要显示在Label1上, 按空格后,汉字“傅”才显示在Edit1上。
Thanks for you!

 
我试过“用STR把KEY的值先转成字符,然后再给lable”不行!
 
不好意思,我实在是想不出来如何把Label1.caption上的字母转成某种
输入法的输入。只是实现了你所问的这个东东。很简单的。
新建一个Application
放一个Edit和一个Label
把Form1的KeyPreview设为True,把Edit的ReadOnly设为true;
响应Form1.OnKeyPress事件
if Key<> char(VK_SPACE) then
Label1.Caption := Label1.Caption + Key
else begin
Edit1.Text := IntToStr(Length(Label1.Caption));
Label1.Caption := '';
end;
应该可以实现你所说的功能,不过你打字的那个作用,我就不知道如何实现了。
 
我接受答案了, 不好意思分数不是很多。
 
感觉就是创建了一个浮动的窗口或者是..
直至确认输入的条件足够产生一个一个合法的输入才开始真正的输入.而不仅只是在
浮动窗口提示了!.
这用在查询系统中很好,如果库中没有的在输入的时候就不显示了!可以提高查询效率!
姑且叫他: 输入法工作模式.
 
后退
顶部