Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   usar el toolbar de un mdiparent (https://www.clubdelphi.com/foros/showthread.php?t=74793)

ingmichel 12-07-2011 02:48:26

usar el toolbar de un mdiparent
 
saludos a todos los colegas de este tan prestigioso foro, veran mi duda es la siguiente, me he interezado en utilizar formularios mdi en mis aplicaciones y me ha surgido la siguiente duda.
tengo un componente toolbar en mi formulario mdi parent con varias opciones, ahora bien, tambien tengo un componente toolbar en mi formulario mdiclild tambien con varias opciones, lo que quiero hacer es que cuando entre a mi formulario mdiclild el toolbar de este me aparezca en el formulario mdiparent, es decir que el toolbar del formulario child se coloque encima del toolbar del formulario parent y asi emular una especie de mantenimiento comun para todos los formularios child de mi aplicacion, bueno espero haber sido explicito, por favor si alguien ha hecho esto antes le estare bastante agradecido...

ecfisa 12-07-2011 04:44:55

Hola ingmichel.

En tu form MDIChild podrías hacer:
Código Delphi [-]
.....
implementation

uses Unit1; // frmMain

procedure TfrmChild.FormShow(Sender: TObject);
var
  i: Integer;
begin
  frmMain.ToolBar1.Visible:= False; 
  Toolbar1.Parent:= frmMain;  // Toolbar de frmChild
end;

...

procedure TfrmChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ToolBar1.Parent:= Self;   // Toolbar de frmChild
  frmMain.ToolBar1.Visible:= True;
  Action:= caFree;
end;
end.

Saludos.

ingmichel 12-07-2011 06:14:03

Muchas gracias ecfisa
 
muchas gracias ecfisa por tu pronta respuesta, era justo lo k necesitaba. kiero aprovechar para agradecerte sinceramente por k siempre has atendido con rapidez mis inquietudes k dios te bendiga mucho hermano.

ingmichel 12-07-2011 16:26:23

un problemita
 
saludos ecfisa, estaba probando el codigo y me doy un cuenta que existe un pequeño inconveniente y es que cuando abro varios forms mdichild, se duplica el control toolbar del form mdiparent tantas veces como habra los mdichild, como puedo corregir este inconveniente ? graacias de antemano.



Cita:

Empezado por ingmichel (Mensaje 406062)
muchas gracias ecfisa por tu pronta respuesta, era justo lo k necesitaba. kiero aprovechar para agradecerte sinceramente por k siempre has atendido con rapidez mis inquietudes k dios te bendiga mucho hermano.


x_aguilarf 12-07-2011 17:15:25

prueba haciendo lo mismo pero con las funciones FormActivate y FormDeactivate:

Código Delphi [-]
.....
implementation

uses Unit1; // frmMain

procedure TfrmChild.FormActivate (Sender: TObject);
begin
  frmMain.ToolBar1.Visible:= False; 
  Toolbar1.Parent:= frmMain;  // Toolbar de frmChild
  Toolbar1.Visible := True;
end;

...

procedure TfrmChild.FormDeactivate(Sender: TObject; var Action: TCloseAction);
begin
  frmMain.ToolBar1.Visible:= True;
  Toolbar1.Visible := False;
end;
end.

ingmichel 12-07-2011 17:26:04

Justamente
 
muchas gracias x_aguilarf por tu ayuda, hice lo k me dijiste y justamente era asi que debia hacer para resolver el inconveniente, bueno me esta pareciendo bastante interezante esto de los forms mdi, pero no se mucho sobre ellos asi que cualquier problema que se me presente, pedire ayuda.
gracias a todos...
Cita:

Empezado por x_aguilarf (Mensaje 406114)
prueba haciendo lo mismo pero con las funciones FormActivate y FormDeactivate:


Código Delphi [-]
.....
implementation

uses Unit1; // frmMain

procedure TfrmChild.FormActivate (Sender: TObject);
begin
frmMain.ToolBar1.Visible:= False;
Toolbar1.Parent:= frmMain; // Toolbar de frmChild
Toolbar1.Visible := True;
end;

...

procedure TfrmChild.FormDeactivate(Sender: TObject; var Action: TCloseAction);
begin
frmMain.ToolBar1.Visible:= True;
Toolbar1.Visible := False;
end;
end.



Lepe 12-07-2011 17:53:12

Cita:

Empezado por ingmichel (Mensaje 406115)
me esta pareciendo bastante interezante esto de los forms mdi, pero no se mucho sobre ellos asi que cualquier problema que se me presente, pedire ayuda.

Aquí estaremos, pero recuerda que Microsoft dijo hace 10 años que los MDI estaban obsoletos y si te fijas, no se usa en ninguna aplicación moderna (o están tan camuflado que ni Dios los reconoce).

ingmichel 13-07-2011 00:48:54

no lo creo
 
hola lepe, a decir verdad no comparto tu opinion de que microsoft dijo que estan obsoletos hace 10 años, si fuese asi ellos no lo incluirian en sus versiones de visual studio.net, al menos eso pienso yo, no se lo que opinen los demas.

saludos

Cita:

Empezado por Lepe (Mensaje 406117)
Aquí estaremos, pero recuerda que Microsoft dijo hace 10 años que los MDI estaban obsoletos y si te fijas, no se usa en ninguna aplicación moderna (o están tan camuflado que ni Dios los reconoce).


Lepe 13-07-2011 10:54:40

Si no compartes mi opinión me parece muy bien, muy respetable. Aunque si he contestado en el hilo no es precisamente para divagar. Eso lo dijo cuando yo empezaba a usar los MDI por primera vez, por eso lo recuerdo.

Office usaba el MDI, ¿lo usa ahora?
Nero usaba MDI, ¿lo usa ahora?

Esos fueron los dos programas que recuerdo dejaron el MDI. La nueva filosofía era crear varias ventanas del mismo tipo de Form.

PD: Yo también sigo usando MDI porque me gusta todo recogido, además de conocer los fallos y tenerlos controlados


La franja horaria es GMT +2. Ahora son las 16:39:53.

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