



Com esta código é possível definir quantos caracteres pode ter por linha
e também o número máximo de linhas que o memo pode ter.
O código é válido para o DBMemo também.
No evento OnKeyPress deixe conforme o exemplo abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | procedure Tfrmproduto_pedido.DBMemo1KeyPress(Sender: TObject; var Key: Char); var vVertical, vHorizontal : Longint; begin // Caracteres por linha vVertical := 59; // Número máximo de linhas vHorizontal := 6; TMemo(Sender).MaxLength := vVertical * vHorizontal; with TMemo(Sender) do begin if ((TMemo(Sender).Lines.Count = vHorizontal + 1) and (key <> #8)) or ((TMemo(Sender).Lines.Count = vHorizontal) and (key = #13)) then begin Key := #0 end else begin if (not (Key in [#8, #13])) then begin if (Length(Lines[TMemo(Sender).CaretPos.Y]) > vVertical) then begin Key := #0; end; end; end; end; end; |
Dúvidas ou sugestões deixe nos comentários do post.