PDA

Ver la Versión Completa : Aplicacion MDI


wallesis
09-01-2004, 10:33:54
Hola a todos de nuevo.
Aquí sigo con la dichosa aplicacion MDI y me ha surgido otra duda.
He visto que en el ejercicio modelo que incluye Delphi (demo) en la aplicacion MDI (editor), incorpora un ActionList que se ocupa de hacer casi todas las funciones sin tener que escribir tanto codigo. Yo tengo incorporado uno, eso si lo puse yo manualmente es decir no parti del ejercicio hecho por Delphi, y me funciona todo menos una cosa. He visto en la demo que cuando creamos una ventana o más, dentro del menu ventana (Window en la demo) va incorporando él sólo el nombre de las ventanas en este menu. Bien, pues eso no me lo hace a mi. ¿Tal vez tengo que cambiar algo del ActionList?, y si no se puede hacer con él ¿Como podría hacerlo manualmente, escribiendo el codigo?.
Gracias de nuevo.
Salu2

__cadetill
09-01-2004, 11:35:01
Bueno, esto no es cuestión del TActionList (si quieres un manualillo en español de este componente en mi web tienes uno :o ).

Para hacer lo que quieres, has de irte a la propiedad WindowMenu del Form principal y, en ella, asignarle el TMenuItem que quieras que "cuelguen" las ventanas activas (por ejemplo el que se llame algo como Ventanas1??)

wallesis
10-01-2004, 13:03:32
hola de nuevo.
OK. Cadetill, eso es lo que me faltaba. Funciona bien, salvo un pequeño detalle, te comento:
Arranco el programa y me sale la ventana principal, pulso el boton "nuevo" (crea nuevas ventanas) y me crea una ventana hija. Pero cuando voy al menu "Ventana" compruebo que no me ha colocado allí nada. Sin cerrar ésta ventana, pulso de nuevo el boton "nuevo" y me crea una segunda ventana. Voy de nuevo al menu "Ventana" y compruebo que me ha colocado la ventana actual marcada como activa (Es decir la segunda ventana) y ademas me ha incorporado la primera ventana, es decir:

1 Sin título 1
2 Sin título 2 (Esta aparece marcada como activa)
En el paso anterior no me la habia mostrado nada. A partir de aquí el funcionamiento es normal.
Si cierro todas las ventanas que he creado, sin cerrar el programa principal, y vuelvo a crear una nueva ventana, esta vez si que me aparece en el menu como "1 Sin título 1" y el funcionamiento a partir de aqui tambien es normal.
Resumiendo, la primera ventana que crea el programa no me la muestra en el menu "ventana"
¿A que puede ser debido?
Gracias de nuevo.
Salu2

__cadetill
10-01-2004, 15:54:43
Hola wallesis

Pues lo acabo de probar en Delphi 6 en un W2k Prof. y me ha funcionado bien, sin el detalle este que mencionas :confused:

Te pongo la definición de los objetos del Form Padre para que veas como ha quedado a ver....


object Form1: TForm1
Left = 221
Top = 103
Width = 696
Height = 480
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
FormStyle = fsMDIForm
Menu = MainMenu1
OldCreateOrder = False
WindowMenu = Ventanas1
PixelsPerInch = 96
TextHeight = 13
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 688
Height = 29
Caption = 'ToolBar1'
TabOrder = 0
object ToolButton1: TToolButton
Left = 0
Top = 2
Caption = 'ToolButton1'
ImageIndex = 0
OnClick = ToolButton1Click
end
end
object MainMenu1: TMainMenu
Left = 80
Top = 88
object Ventanas1: TMenuItem
Caption = 'Ventanas'
object Crar1: TMenuItem
Caption = 'Crear'
end
end
end
end

En negrita señalo lo más relevante del tema (creo :p)

wallesis
10-01-2004, 20:31:46
Hola de nuevo.
He estado dandole vueltas por todos los sitios y no veo nada.
Al final he hecho un nuevo programa sencillo, con los componentes minimos para comprobar si funciona, un boton para crear ventanas, un menu con un TMenuItem y las ventanas padre e hija.
Sabes, me hace lo mismo que en mi ejercicio. Yo utilizo la version 5 de Delphi, ¿Será por la version?

Y otra cosa como curiosidad, probe a colocar las ventanas en distintos TMenuItem (Fichero,Edicion, etc..) y comprobe que en algunos funcionaba igual que donde lo tenia (ventana) pero en otros no funcionaba nada, no aparecia nada por muchas ventanas que crease.

Bueno, creo que no puedo hacer nada.... lo dejaré así.
Muchas gracias por tu ayuda.
Salu2

__cadetill
11-01-2004, 13:17:53
Yo utilizo la version 5 de Delphi, ¿Será por la version?

Pues no te sabría decir, no tengo el D5 a mano para poderlo probar :(