Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SauloBr

[Resolvido] Mover Um componente TImage criado dinamicamente

Recommended Posts

Olá colegas do fórum,

 

Estou com uma dúvida em relação a componentes dinâmicos. Eu preciso fazer uma especie de programa que funcionara como modelador gráfico. Eu consegui criar os componentes gráficos usando o Timage em runtime. Porém estou querendo saber como faço para seleciona-los e mover pelo formulário ou parte dele, esses componentes que eu criei dinamicamente. Alguem pode me ajudar?

 

Vlw! Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pesquise sobre Drag and Drop

 

 

Olá amigo,

 

Eu pesquisei sobre Drag and Drop no fórum, mas não achei o que eu procuro. Só consegui informações para mover componentes já criados visualmente e não aqueles criados dinamicamente, como eu quero. Mais vou continuar procurando. Valeu a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera, da uma olhada aqui:

 

http://forum.imasters.com.br/index.php...o+dinamicamente

 

Nesse Tópico a galera ensina a criar eventos para objetos criados dinamicamente...

 

Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Vlw Hugo! Eu dei uma olhada, mas o código abaixo não funcionou:

 

procedure ao_clicar_em_algo(Sender : Tobjetc);

begin

ShowMessage('Você clicou em alguma coisa!!!');

end;

 

procedure Tform1.formcreate(Sender: TObject)

var

MeuLabel : TLabel;

begin

MeuLabel := TLabel.create(form1);

MeuLabel.onClick := ao_clicar_em_algo;

end;

 

 

Ele dá erro de compatibilidade no código em vermelho! O que acontece?

 

P.s: Os nome utilizados no meu projeto são diferentes dos apresentados, eu apenas estou demonstrando onde acontece o erro na chamada, que segue a mesma lógica.

 

Flw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala grande... beleza???

 

segue abaixo meu code...

 

Aqui ta funcionando perfeito.. da uma olhada ai...

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
	procedure FormCreate(Sender: TObject);
	procedure Clicou_em_Algo(Sender:TObject);
  private
	{ Private declarations }
  public
	{ Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Clicou_em_Algo(Sender:TObject);
begin
  Showmessage('Você clicou em um Label com o Caption: '+TLabel(Sender).Caption);
end;

procedure TForm1.FormCreate(Sender: TObject);
var lbl1, lbl2 : TLabel;
begin
  lbl1 := TLabel.Create(Form1);
  lbl1.Parent := Form1;
  lbl1.Caption := 'Label - 1';
  lbl1.OnClick := Clicou_em_Algo;
  lbl1.Top := 100;
  lbl1.Left := 100;
  lbl1.Visible := True;

  lbl2 := TLabel.Create(Form1);
  lbl2.Parent := Form1;
  lbl2.Caption := 'Label - 2';
  lbl2.OnClick := Clicou_em_Algo;
  lbl2.Top := 100;
  lbl2.Left := 200;
  lbl2.Visible := True;
end;

end.

Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala grande... beleza???

 

segue abaixo meu code...

 

Aqui ta funcionando perfeito.. da uma olhada ai...

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
	procedure FormCreate(Sender: TObject);
	procedure Clicou_em_Algo(Sender:TObject);
  private
	{ Private declarations }
  public
	{ Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Clicou_em_Algo(Sender:TObject);
begin
  Showmessage('Você clicou em um Label com o Caption: '+TLabel(Sender).Caption);
end;

procedure TForm1.FormCreate(Sender: TObject);
var lbl1, lbl2 : TLabel;
begin
  lbl1 := TLabel.Create(Form1);
  lbl1.Parent := Form1;
  lbl1.Caption := 'Label - 1';
  lbl1.OnClick := Clicou_em_Algo;
  lbl1.Top := 100;
  lbl1.Left := 100;
  lbl1.Visible := True;

  lbl2 := TLabel.Create(Form1);
  lbl2.Parent := Form1;
  lbl2.Caption := 'Label - 2';
  lbl2.OnClick := Clicou_em_Algo;
  lbl2.Top := 100;
  lbl2.Left := 200;
  lbl2.Visible := True;
end;

end.

Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Valew colega! Testei aqui e deu certo agora! Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.