Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-12-2006
sortilodio sortilodio is offline
Registrado
 
Registrado: dic 2006
Posts: 4
Poder: 0
sortilodio Va por buen camino
Sencillo: crear button

Hola a todos, no tengo mucha experiencia con Delphi.
Quiero crear un nuevo botón, cuando el formulario se crea(Create).
He hecho lo siguiente, no me da ningún error pero el botón no aparece, me podéis echar una mano, que seguro que para vosotros es sencillo??

Código Delphi [-]
procedure FormCreate(Sender: TObject);
var
  btn : TButton;
begin
  btn := TButton.Create(form1);
  btn.Caption := 'ejemplo';
  btn.Left := 200;
  btn.Height  := 20;
  btn.Width  := 20;
  btn.Top  := 200;
  btn.Visible := True;
end;

GRACIAS

Última edición por dec fecha: 16-12-2006 a las 23:00:16.
Responder Con Cita
  #2  
Antiguo 16-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Falta que asignes un "padre" para el botón. El "padre" se hará cargo del botón... en cierto modo, puesto que cuando el "padre" se destruya este destruirá al propio botón... un padre raro... (acabo de ver El resplandor del inconmensurable Stanley Kubrick)... pero vamos al caso...

Código Delphi [-]
unit Unit1;

interface

uses
  Forms, Classes, Controls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FBotonHolaMundo: TButton;
    procedure SaludaHombre(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  Dialogs;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FBotonHolaMundo := TButton.Create(Self);
  with FBotonHolaMundo do
  begin
    Parent := Self;
    Caption := '¡Hola mundo!';
    SetBounds(10, 10, 75, 25);
    OnClick := SaludaHombre;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FBotonHolaMundo.Free;
end;

procedure TForm1.SaludaHombre(Sender: TObject);
begin
  if (Sender is TButton) and
   (TButton(Sender).Caption = '¡Hola mundo!') then
     ShowMessage(TButton(Sender).Caption);
end;

end.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 16-12-2006 a las 23:02:21.
Responder Con Cita
  #3  
Antiguo 16-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Se ve que dec todavía tiene el canguelo en el cuerpo porque no está centrado....

En realidad el AOwner (parámetro del TButton.Create(...éste...)) es el que se encargará de destruirlo.

El padre (propiedad Parent) hace referencia a donde se situará ese botón, sobre un panel, sobre el form, etc.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 16-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿Ves? La edad que no perdona...

Muchas gracias Lepe.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 17-12-2006
sortilodio sortilodio is offline
Registrado
 
Registrado: dic 2006
Posts: 4
Poder: 0
sortilodio Va por buen camino
Lo que siempre recuerdo de Resplandor (y hace tiempo que la ví), es la escena de una mujer joven duchándose. Después se acerca el hombre y se convierte en una anciana etc... también recuerdo la niña/s de los pasillos..

No he comentado que estaba utilizando Delphi 3(Sí Delphi 3).
El código no me da ningún error pero tampoco aparece el botón.
Como tengo también Delphi 6 lo voy a instalar y probar, tal vez sea eso..

Gracias
Responder Con Cita
  #6  
Antiguo 19-12-2006
sortilodio sortilodio is offline
Registrado
 
Registrado: dic 2006
Posts: 4
Poder: 0
sortilodio Va por buen camino
Hola he probado de nuevo el código en Delphi 6 y me pasa exactamente lo mismo, el botón no aparece.
Se queda el formulario completamente vacío...
Alguien me puede decir ¿POR QUÉ?, estoy buscando información por todos los sitios y ese código tiene que estar bien, no lo entiendo...

GRACIAS
Responder Con Cita
  #7  
Antiguo 19-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
El código de dec funciona (comprobado), el tuyo espero que lo hayas puesto de memoria, porque falta en la cabecera el objeto:
Código Delphi [-]
procedure FormCreate(Sender: TObject);
debe decir:
Código Delphi [-]
procedure TFormXXXX.FormCreate(Sender: TObject);

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 20-12-2006
sortilodio sortilodio is offline
Registrado
 
Registrado: dic 2006
Posts: 4
Poder: 0
sortilodio Va por buen camino
Gracias por la ayuda..
Encontré el fallo, el problema era (ya he dicho que estoy empezando con Delphi), que en los eventos del formulario no había puesto el OnCcreate a ninguna procedure, entonces el evento OnCreate no se producía nunca..

Gracias
Responder Con Cita
  #9  
Antiguo 20-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Como decimos en mi tierra: Eso pasa en las mejores familias... jejeje

(no será la última vez que te pase, así que tenlo en mente ).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Buscar y Encontrarlo es sencillo.... anghell77 Humor 7 04-10-2006 08:40:43
ayudita please, sencillo Otei OOP 3 18-11-2005 22:25:10
Un link a firebird 1.5 (sencillo) Jorge Taveras Firebird e Interbase 1 28-04-2004 22:08:57
Reporte sencillo en Excel....please seb@ Servers 7 24-03-2004 21:46:51
editor sencillo con pagecontrol y ttabsheet oesteve OOP 0 03-07-2003 10:36:47


La franja horaria es GMT +2. Ahora son las 11:39:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi