FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema con aplicacion MDI
Hola amig@s
Veo que el nivel que teneis aquí es muy superior al mio, al fin y al cabo sólo soy un aprendiz. Estoy trabajando con un editor de textos MDI y me ha surgido una duda, espero que me podais ayudar: Yo se como, desde el el codigo fuente de la ventana principal, manejar o actuar sobre los componentes de la ventana hija, pero no lo se hacer a la inversa y ni siquiera se si se puede hacer. Por ejemplo: ¿Que sentencias he de realizar o escribir desde el codigo fuente de la ventana hija o fsMDIchild para cambiar el estado de un boton que se encuentra en un componente TToolbar que está ubicado en la ventana principal o fsMDIform? Gracias. |
#2
|
||||
|
||||
Hola!,
añade la unit del form principal en el uses de la ventana hija (para no tener problemas hazolo con File-Use unit y te lo pondrá en el sitio correcto) y ya podras hacer fsMDIform.EsePedazoBoton.jarl:=jander; taluegorl!
__________________
"la única iglesia que ilumina es la que arde" Anonimo |
#3
|
|||
|
|||
MUCHAS GRACIAS Julian por tu ayuda. Lo intentare poner en prueba ahora mismo.
Salu2. |
#4
|
|||
|
|||
Hola de nuevo.
He puesto en marcha los consejos de Julian pero me sigue dando fallo o error. Este es todo el codigo fuente de la ventana hija. Ahí puesdes ver Julian, como he añadido la uses pero luego en el procedimiento no me funciona: unit Codigo_Hija; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TVentana_Hija = class(TForm) RE_Editor: TRichEdit; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure RE_EditorSelectionChange(Sender: TObject); private { Private declarations } public { Public declarations } end; var Ventana_Hija: TVentana_Hija; implementation uses Codigo_Principal; {$R *.DFM} procedure TVentana_Hija.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TVentana_Hija.RE_EditorSelectionChange(Sender: TObject); begin TPrincipal.TB_Negrita.Down := fsBold in RE_Editor.SelAttributes.Style; end; end. Como puedes ver el procedimiento es el de cuando cambia la seleccion en el editor y según donde pongamos el cursor así nos cambie los botones de cursiva,negrita, etc. El editor está en la ventana hija y todo el codigo es el que puedes ver aquí. Pero tengo que actuar desde este codigo sobre los componentes de la ventana principal. TPrincipal es la ventana Principal, TB_Negrita es el boton negrita situado en la barra de herramientas que a su vez está situada en la ventana principal. El error que da es : Method identifier expected. Me falta algo por hacer? o ¿Estoy haciendo algo mal? Gracias de nuevo. |
#5
|
||||
|
||||
Hola
TPrincipal.TB_Negrita.Down := fsBold in RE_Editor.SelAttributes.Style; Creo que el problema está en que utilizas la clase del formulario principal, en lugar de una instancia del mismo (es decir el propio formulario). Cambialo por : Principal.TB_Negrita.Down := fsBold in RE_Editor.SelAttributes.Style; Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#6
|
|||
|
|||
Ahora si que me funciona. Muchisimas gracias a ambos por haberme ayudado.Nos vemos.
Salu2 |
|
|
|