imagem de fundo sem TImage com stretch

13/01/2006

por motivos maiores criei ao invés de uma imagem no form, escolhi por colocar um plano de fundo, uma imagem direto no form sem componente.

procedure TFrmPrincipal.FormCreate(Sender: TObject);
begin
Application.OnMessage := MudarComEnter;
Grafico := TBitmap.Create;
Grafico.LoadFromFile (´fundo.bmp´);
end;


procedure TFrmPrincipal.FormPaint(Sender: TObject);
begin
FrmPrincipal.Canvas.Draw(0,0,grafico);
end;


e declarando na private:

private
grafico: TBitmap;
public
{ Public declarations }
end;


1ª DÚVIDA: deu certo, mas não consegui achar uma função que nem a da TImage, que faz com que a imagem fique do tamanho do componente TImage, com a propriedade Stretch := True. tem como fazer isso com o Grafico (imagem de fundo no form) que criei?

2ª DÚVIDA: mais uma dúvida: já criei o grafico. gostaria de criar outro, o grafico2, este vai por cima, é pequeno e não tem que ficar do tamanho original, o problema, é colocar ele no centro, ou seja, se eu maximizar tá no centro, se eu aumentar a resolução tá no centro. o problema também é colocar ele por cima do grafico.

se não souberem esta última dúvida, poderiam sanar apenas a primeira.

valeuzíssimo galera.


Aspirante

Respostas

13/01/2006

Massuda

...faz com que a imagem fique do tamanho do componente TImage, com a propriedade Stretch := True. tem como fazer isso com o Grafico (imagem de fundo no form) que criei?
Use TCanvas.StretchDraw ao invés de TCanvas.Draw.

...já criei o grafico. gostaria de criar outro, o grafico2, este vai por cima, é pequeno e não tem que ficar do tamanho original, o problema, é colocar ele no centro, ou seja, se eu maximizar tá no centro, se eu aumentar a resolução tá no centro. o problema também é colocar ele por cima do grafico.
Não sei se entendi direito, mas se você desenhar essa segunda imagem depois da primeira, ela ficará ´por cima´ da primeira.


Responder Citar