Inserir imagem no RichEdit do Delphi 10

14/11/2022

0

Olá pessoal, todos bem?
Espero que sim. Estou fazendo um sistema de envio de emails onde preciso colocar uma imagem no RichEdit e depois enviar esse email utilizando os componentes INDY.
Atualmente estou utilizando o Delphi 10.2 Tokyo (se não me falha a memória, rsrs).

Em um botão do meu form eu adicionei a instrução abaixo:

with TImage.Create(Sistema) do
begin
Parent := RichEdit1;
Width := 450;
height := 50;
left := 30;
top := 30;
proportional := true;
picture.LoadFromFile('C:\Users\adm\Desktop\imagem.png');

end;

Ao apertar no botão, ele até adiciona a imagem no RichEdit, porém não consigo escrever nada no RichEdit.
A idéia seria inserir a imagem no começo e no final do RichEdit, fazendo como se fosse um cabeçalho e rodapé.
Já falaram de um componente do JEDI, porém não consegui implantalo em meu computador. Gostaria muito de fosse via RichEdit ou até mesmo via Memo.

Também fiz um For abaixo, onde passo pegando todas as linhas do RichEdit para que sejam mandadas no email.
Notem que nas três primeiras linhas, tentei pegar formatações das letras, porém não obtive resultado.
Tentei também utilizar o recurso SaveToStream e LoadFromStream, mas sem sucesso.

for y := 0 to richedit1.Lines.Count -1 do
begin
//richedit1.SelAttributes.Style := FontDialog1.Font.Style;
//richedit1.SelAttributes.Size := FontDialog1.Font.Size;
//richedit1.SelAttributes.Color := FontDialog1.Font.Color;
//Image1.Picture.LoadFromFile('C:\Users\Casa\Desktop\VDM Solutions.png');
Idmessage.Body.Add('<BR><BR>');
Idmessage.Body.Add('<BR><BR>');
richedit1.Lines.SaveToStream(AStream);
AStream.Position := 0;
idmessage.body.LoadFromStream(AStream);
Idmessage.ContentType := 'text/html; text/plain; charset=iso-8859-1';
AStream.Position := 0;
richedit1.Lines.SaveToStream(AStream);
IdMessage.Body := richedit1.Lines;
end;

Alguém poderia me dar uma luz, para que eu possa tentar seguir o melhor caminho para meu sistema?

Abraços!
Vinicius David

Vinicius David

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar