Передача фокуса при превышении текста TEdit

Тема в разделе "Delphi", создана пользователем WinHack, 24 ноя 2016.

  1. WinHack
    TEdit имеет такое свойство, как MaxLength, его нужно установить в количество допустимых символов. Когда количество символов превысит значение MaxLength, TEdit посылает сообщение EN_MAXTEXT своему родительскому окну, которое мы будем перехватывать и передавать фокус другому окну.

    В определении формы запишем:

    Код:
    Type
      TForm1 = class(TForm)
      { ... }
    private
      procedure WMCommand(var Msg: TWMCommand); message WM_COMMAND;
      { ... }
    end;
    Затем в секции implementation:

    Код:
    procedure TForm1.WMCommand(var Msg: TWMCommand);
    begin
       if Msg.NotifyCode = EN_MAXTEXT then
       begin
          PostMessage(Handle, WM_NEXTDLGCTL,0, 0);
          inherited;
       end;
    end;