如何得到焦点(50分)

  • 主题发起人 主题发起人 liuyanx
  • 开始时间 开始时间
L

liuyanx

Unregistered / Unconfirmed
GUEST, unregistred user!
有3个edit框,如何得到正在编辑的edit的信息???
 
用edit.change事件如何,你不可能同时操作3个edit吧
 
同意lyywy
 
用Focused属性进行焦点检测。<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>var<br>&nbsp; i:Integer;<br>begin<br>&nbsp; for i:=0 to ControlCount-1 do<br>&nbsp; &nbsp; if Controls is TWinControl then<br>&nbsp; &nbsp; &nbsp; if TWinControl(Controls).Focused then<br>&nbsp; &nbsp; &nbsp; &nbsp; Caption:=Controls.Name; //获得控件名称 稍加修改即可针对TEdit<br>end;
 
1)声明一个Tedit类型指针<br>private<br>&nbsp; pEdit :TEdit;<br>...<br><br>2)<br>所用edit的onEnter事件处理句柄都指向procedure OnEditEnter(sender: TObject);<br><br>procedure OnEditEnter(sender: TObject)<br>begin<br>&nbsp; PEdit := Sender as TEdit;<br>end;<br><br>3)取得正在编辑的edit信息<br><br>&nbsp;ShowMessage(PEdit.text);<br><br>PS:注意你调用得地方,可能会使edit失去焦点,那么pedit就指向最后得到焦点的edit<br><br><br>
 
在OnChange中进行比较好。
 
这个问题是判断到底是哪个edit框正在编辑?
 
问题:如何得到焦点 ( 积分:50, 回复:6, 阅读:23 )<br>分类:Windows API ( 版主:amo, cAkk ) &nbsp;<br>来自:liuyanx, 时间:2001-9-20 10:21:00, 编辑 [显示:小字体 | 大字体] &nbsp;<br>有3个edit框,如何得到正在编辑的edit的信息???<br><br><br>但你的要求是取得正在编辑edit的信息, <br>&nbsp;<br>
 
三个同一个OnChange事件<br>showmessage(tedit(Sender).Name+'正在修改');
 
后退
顶部