Delphi - Formularios de una aplicación

 
Vista:

Formularios de una aplicación

Publicado por rookie (36 intervenciones) el 27/03/2002 09:16:08
Hola
Mi problema es el siguiente: necesito una forma de listar todas las ventanas (MDIChild y algunos Forms comunes y corrientes) de mi sistema. En particular lo que necesito es llenar con los nombres de las ventanas (o el Caption) un CheckListBox, para propósitos de Administración de Usuarios.
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Formularios de una aplicación

Publicado por mamcx (533 intervenciones) el 27/03/2002 21:05:06
Tomado de las ayudas de Delphi:

The following code closes all the MDI children of Form1.

var

I: Integer;
begin
with Form1 do
for I := MDIChildCount-1 downto 0 do
MDIChildren[I].Close;

end;

Para recorrer los controles

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);

var
I: Integer;
ChildControl: TControl;
begin
for I:= 0 to Components.ComponentCount-1 do
begin

end;

Para chequear si un control es de tal tipo

if Components[1] is TCheckBox then
(Components[1] as TCheckBox).Checked:=True;

Con is averiguas si es Checkbox. Con As fuerzas el tipo de clase (esto se llama typecasting)

Para buscar un control especifico:

MiVarCheckBox:= FindComponent('ElNombreDelControl');

o

MiVarCheckBox:= FindChildControl('Control');

Facil, eh?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formularios de una aplicación

Publicado por rookie (36 intervenciones) el 28/03/2002 14:16:47
En realidad está muy bien, pero me parece que de esa forma se consideran sólo los formularios visibles, y yo necesito una lista de todos los formularios de la aplicación, algunos son MDIChild y otros no.
Gracias de todas maneras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formularios de una aplicación

Publicado por DAVID (13 intervenciones) el 01/04/2002 04:47:41
Prueba con lo siguiente:
for i := 0 to Screen.FormCount - 1 do
begin
// Lo asignas a donde tu quieras
ListBox1.Items := Screen.Forms [i].Name;
end;

Un Saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar