Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   propiedad caption (https://www.clubdelphi.com/foros/showthread.php?t=69539)

lucas05 24-08-2010 22:19:29

propiedad caption
 
Hola, estoy utilizando delphi 7 y quería saber si es posible cambiar la propiedad caption de un form mediante el uso de código.

Paso a explicar, resulta que tengo un form y en su propiedad caption puse lo siguiente 'Personal Docente'. Mi intención es que al hacer click en un button cambie el texto que puse en el caption anterior, por el siguiente texto 'Personal No Docente'.

Lo que quiero hacer es cambiar el titulo de un formulario mediante código.

Muchas gracias por su atención y saludos.

look 24-08-2010 22:46:28

Cita:

Empezado por lucas05 (Mensaje 374364)
Hola, estoy utilizando delphi 7 y quería saber si es posible cambiar la propiedad caption de un form mediante el uso de código.

Paso a explicar, resulta que tengo un form y en su propiedad caption puse lo siguiente 'Personal Docente'. Mi intención es que al hacer click en un button cambie el texto que puse en el caption anterior, por el siguiente texto 'Personal No Docente'.

Lo que quiero hacer es cambiar el titulo de un formulario mediante código.

Muchas gracias por su atención y saludos.


Código Delphi [-]
caption:= 'Personal No Docente';
o
Código Delphi [-]
form1.caption:= 'Personal No Docente';

santiago14 24-08-2010 22:53:53

También podrías poner:
Código Delphi [-]
self.caption:='hola';

En ocasiones las otras formas propuestas no muestran nada en la barra del formulario.

Saludos.

bosster_018 25-08-2010 02:31:08

Tal y como te respondieron... Sólo debes aplicarlo con alguna condición, por ejemplo:

Código Delphi [-]
If button1.caption='Personal Docente' then
   button1.caption:='Personal no Docente'
else
   button1.caption:='Personal Docente';

El código lo escribes en el botón asignado, que cambiará el caption del mismo cada vez que hagas click sobre él.

Suerte!

lucas05 25-08-2010 04:11:52

Hola look, gracias por responder.
La segunda opción del código funciona bien.
Pero como puedo hacer si el titulo del formulario que quiero cambiar se encuentra en el form2.
Te explico, en el form1 tengo un button en el cual hago click y abro el form2.
Lo que quiero hacer es poner en el button(del form1) una línea de código que me permita cambiar el titulo del formulario2.

Espero haber sido claro y gracias por tu atencion.

ecfisa 25-08-2010 05:15:06

Hola lucas.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
 with TForm2.Create(nil) do
  try
    Caption:= 'LO QUE QUIERAS QUE APAREZCA EN EL TITULO';
    ShowModal;
  finally
    Free;
  end;
end;

Saludos.

ecfisa 25-08-2010 05:54:52

Hola de nuevo.

Casi se me olvida.

Si ya lo tenés creado, simplemente podés usar :
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Caption:= 'LO QUE QUIERAS QUE APAREZCA EN EL TITULO';
  ...
end;

Otra cosa, la unidad de Form1 debe incluir la unidad donde está declarado Form2:
Código Delphi [-]
uses 
   Unit2;

Saludos.

lucas05 25-08-2010 17:35:10

Hola ecfisa, gracias por tu ayuda.

La primera opción (cuando no tengo creado el form) funciona bien.
Pero en mi caso ya tengo creado el form y cuando uso la segunda opción no funciona.
Este es el código que pongo en el button del form1.
Form2:=TForm2.Create(self);
Form2.Showmodal;
Form2.Caption:='Personal No Docente';

(En el uses del form1 agrego el Unit2)

Cuando lo compilo no aparece ningun error y cuando hago click en el button durante el tiempo de ejecución abre el form2 pero no muestra los cambios en el titulo del form2.

Espero que puedas decirme donde está el error.

Gracias por tu atención y saludos.

esocrates 25-08-2010 18:29:20

Cita:

Empezado por lucas05 (Mensaje 374486)
Hola ecfisa, gracias por tu ayuda.

La primera opción (cuando no tengo creado el form) funciona bien.
Pero en mi caso ya tengo creado el form y cuando uso la segunda opción no funciona.
Este es el código que pongo en el button del form1.
Form2:=TForm2.Create(self);
Form2.Showmodal;
Form2.Caption:='Personal No Docente';

(En el uses del form1 agrego el Unit2)

Cuando lo compilo no aparece ningun error y cuando hago click en el button durante el tiempo de ejecución abre el form2 pero no muestra los cambios en el titulo del form2.

Espero que puedas decirme donde está el error.

Gracias por tu atención y saludos.

Hola lucas05;
Probá de este modo. Antes de dar la directiva ShowModal:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:=Tform2.Create(self);
Form2.Caption:='Personal No Docente';
Form2.ShowModal;

end;

Un saludo

lucas05 25-08-2010 19:33:10

Hola esocrates, gracias por tu ayuda. Tu solución funciono bien.

Saludos.

ecfisa 25-08-2010 19:51:51

Hola.

Si, es como te puso esocrates.

Si te fijas en el primer código que postee:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
 with TForm2.Create(nil) do
  try
    Caption:= 'LO QUE QUIERAS QUE APAREZCA EN EL TITULO';
    ShowModal;
  finally
    Free;
  end;
end;
Verás que la asignación al caption está antes de mostrarlo.
Eso sucede por que cuando mostras con ShowModal, el form creado adquiere el foco y no lo libera hasta que se cierre. Por lo tanto las líneas que hacen referencia a Form2 despues de ShowModal se ejecutarán luego de que se cierre.

Aprovecho el post para rectificar un error y evitar posibles confuciones a quien lea.
El siguiente código no funciona:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Caption:= 'LO QUE QUIERAS QUE APAREZCA EN EL TITULO';
 end;

Errare humanum est... :)

Saludos.


La franja horaria es GMT +2. Ahora son las 04:42:52.

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