Página 1 de 1
Saltar linha no Campo Memo???
Enviado: Março 13th, 2012, 10:10 am
por Dimmy Angelo
Como Saltar linha no campo memo usando Enter ao invés de CTRL ENTER ???
Re: Saltar linha no Campo Memo???
Enviado: Março 13th, 2012, 5:27 pm
por Gustavo
PARA SAIR DE CAMPO MEMO, USANDO ENTER...
?? simples o método de sair de um Edit usando Enter ao invés de Tab, porém, é frustrante qdo no meio de vários Edit's, temos um campo MEMO, a ser preenchido, daí a explicar para o Usuário que naquele campo ele deve pressionar TAB para sair, é constrangedor, na função abaixo, a cada vez q é pressionado ENTER num campo MEMO, a função verifica se a última linha do MEMO, esta em branco e se estiver ele sai do MEMO, se não estiver ele aceita como um ENTER pra mudar de linha...
Modo de usar:
No seu form, coloque um campo do tipo MEMO, e no evento ONKEYPRESS
inclua o seguinte código:
var
Linha : String;
begin
IF Key = #13 then
begin
Linha := MEMO2.Lines[MEMO2.Lines.count - 1];
IF Linha = '' then
begin
key := #0;
PostMessage ( handle, WM_KEYDOWN, VK_TAB, 1 );
end;
end;
end;
Re: Saltar linha no Campo Memo???
Enviado: Março 14th, 2012, 11:38 am
por Dimmy Angelo
Continua Pulando para o botão salvar e não pula de linha.
Obrigado!
Re: Saltar linha no Campo Memo???
Enviado: Março 14th, 2012, 1:23 pm
por Adilson
Prezado Dimmy, tente assim ...
var
ControleCampo: TWinControl;
begin
ControleCampo := ActiveControl;
while (ControleCampo <> nil) and (ControleCampo.Owner <> Self) do
ControleCampo := ControleCampo.Parent;
if (Key = Chr(13)) AND NOT (NOMEDOSEUCAMPOMEMO.FOCUSED) then
begin
Key := #0;
{Atua como a tecla TAB}
Perform(WM_NEXTDLGCTL, 0, 0);
LastControl := ControleCampo;
MudaSeForUltimo;
end
else if Key = Chr(27) then
Close;
end;
Adilson
Re: Saltar linha no Campo Memo???
Enviado: Março 19th, 2012, 10:05 am
por Gilberto
Se entendi o que deseja faça assim :
No Componente Memo
No Evento OnEnter
Inclua :
KeyPreview := False;
No Evento OnExit
Inclua :
KeyPreview := True;
Cada Enter no Memo ira para a linha debaixo.
Att
Gilberto