热情软件屋

 

如何使多个控件通过同一个消息映射控制焦点移到下一个控件上去


编号: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 "如何使一个控件在做完需要的操作后,光标移动到下一个控件"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio