Q&A

  • Edit에서 자동으로 Enter Key...
EditBox의 최대 입력가능 문자의 갯수만큼 문자가
입력되면 자동으로 다음 EditBox로 넘어가게 할 수 있는
방법을 알고 계신분의 답변부탁드립니다.

예) EditBox1 의  MaxLength = 5 일때 12345 가 입력되면
     Enter 키를 누르지 않아도 자동으로 EditBox2 로
    Focus 를 이동 시키는 방법을 알고계신분의 답변 부탁..
2  COMMENTS
  • Profile
    이창영 2002.02.21 00:02



    procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Length(edit1.text)=Edit1.MaxLength then
      begin
        SelectNext(Sender as TWinControl, True, True);
      end;

    end;

  • Profile
    허일학 2002.02.20 22:18

    간단하게 해본건데요...
    이렇게하시면 잘될것이라 생각됩니다만...
    혹시~ 안될지 모르니 참고하시기 바랍니다...^^


    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;

    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
      private
        { Private declarations }
        procedure WMCommand(var Msg: TWMCommand); message WM_COMMAND;
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.WMCommand(var Msg: TWMCommand);
    begin
    if Msg.NotifyCode = EN_MAXTEXT then
    begin
       PostMessage(Handle, WM_NEXTDLGCTL,0, 0); // 다음 콘트롤로 focus 이동
       inherited;
    end;
    end;

    end.