如何使多个控件通过同一个消息映射控制焦点移到下一个控件上去
编号:QA003823
建立日期: 2001年2月3日 最后修改日期:2001年2月3日
所属类别:
wqxslh:
Form上安放了若干TEdit,各自有不同的MaxLength,请问:如何通过一个什么样的消息映射,用什么样的方法测得焦点在哪一个TEdit上,以便当其Text.Length()等于其MaxLength时,能够控制焦点/光标移到下一个TEdit上去?苦思良久,不得其解,敬请眷顾!请讲得详细些,最好附上源程序,我太苯啦!
回答:
你可以将多个控件的OnChange事件都指定为同一个过程,如:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if TEdit(Sender).MaxLength = Length(TEdit(Sender).Text) then
Perform(WM_NEXTDLGCTL, 0, 0);
end;
相关问题:
QA000942 "如何使用回车键模仿Tab键"
QA000832 "如何为控件数组指定事件处理过程"
QA000788 "如何使一个控件在做完需要的操作后,光标移动到下一个控件"
此问题由李海回答。
| |
|
|
| |
|
|