Ver Mensaje Individual
  #6  
Antiguo 31-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Reputación: 19
Deiv Va por buen camino
Bueno sobre mi pregunta 2 la solución estaba con SHOWMODAL, así mismo este me sirve para mi pregunta 1 ya que no le da acceso al Form principal y pulsar n-veces el Boton para crear n-Forms.
En lo que intentaba resolver esta situación gracias a vuestros consejos, me ha ocurrido algo interesante, del cual me quedó una duda con lo siguiente, verán con el código de abajo, no le he dado evento al BitBtn, pero no sé por qué razón cuando clicko al BitBtn, este me cierra el 2do Form creado en tiempo de ejecución, ¿Es que acaso tiene algún Evento DEFAULT el BitBtn que realiza esa operación?
Y otra cosa interesante, si cambio en el: procedure TForm1.Button1Click, la línea NuevoForm.showmodal; por NuevoForm.Show; ya no ocurre esa situación de que el BitBtn cierra el 2do Form.
Código Delphi [-]
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ClickBoton2(Sender: TObject);
  private
    NuevoForm: TForm;
    NuevoBoton: TBitBtn;
    NuevoBoton2: TButton;
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
   NuevoForm := TForm.Create(nil);
   NuevoForm.Parent := nil;
   NuevoForm.Caption:='Nuevo Formulario';
   NuevoForm.Name := 'MiForm';
   NuevoForm.FormStyle:= fsStayOnTop;
   NuevoBoton := TBitBtn.Create(NuevoForm);
   NuevoBoton.Parent := NuevoForm;
   NuevoBoton.Name := 'Boton1';
   NuevoBoton.Kind:=bkIgnore;
   NuevoBoton.Caption:='Púlsame';
   NuevoForm.showmodal;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
   NuevoForm := TForm.Create(nil);
   NuevoForm.Parent := nil;
   NuevoForm.Caption:='Nuevo Formulario';
   NuevoForm.Name := 'MiForm';
   NuevoForm.FormStyle:= fsStayOnTop;
   NuevoBoton2 := TButton.Create(NuevoForm);
   NuevoBoton2.Parent := NuevoForm;
   NuevoBoton2.Caption:='Clickme';
   NuevoBoton2.Name := 'Boton2';
   NuevoBoton2.OnClick:=ClickBoton2;
   NuevoForm.showmodal;
end;
procedure TForm1.ClickBoton2(Sender: TObject);
begin
  NuevoBoton2.Caption := 'Pressed';
end;
end.
¿Alguien sabe a que se debe ello?
Adjunto el Ejemplo
Archivos Adjuntos
Tipo de Archivo: zip CrearComps.zip (2,0 KB, 9 visitas)
Responder Con Cita