Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2010
OscarBravo OscarBravo is offline
Miembro
 
Registrado: feb 2007
Posts: 23
Poder: 0
OscarBravo Va por buen camino
Necesito quitar la barra de titulo de un Formulario

De antemano gracias por la ayuda.

Cuando los formularios son Modales se puede quitar la barra de título de los con BorderStyle = bsNone

Pero si tengo una aplicación MDI, donde tengo un Formulario principal que es de tipo MDI es decir la propiedad [FONT='Verdana','sans-serif']FormStyle es fsMDIForm y los otros formularios son hijos, es decir su propiedad FormStyle es fsMDIChild.
Después de haber establecido la propiedad FormStyle a fsMDIChild a un formulario, no se puede quitar los bordes con
BorderStyle = bsNone.
¿Sabe alguien como quitar los bordes con de un formulario de tipo fsMDIChild?

Última edición por OscarBravo fecha: 02-06-2010 a las 02:07:14.
Responder Con Cita
  #2  
Antiguo 02-06-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola OscarBravo, revisa esta página

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 02-06-2010
OscarBravo OscarBravo is offline
Miembro
 
Registrado: feb 2007
Posts: 23
Poder: 0
OscarBravo Va por buen camino
Gracias por la pronta respuesta

Gacias por tu respuesta.

Seguí las recomendaciones de la página que me recomendaste, pero no me funcionó, no se si es por el delphi 2009 que estoy utilizando.

Este fue el procedimiento que implementé. Tal vez lo estoy usnado mal.
Procedure TfrmAfiliados.CreateParms(var Params: TCreateParams);
begin
BorderStyle := bsNone;
inherited;
Params.style := Params.style and not WS_EX_STATICEDGE;
//Params.ExStyle := Params.ExStyle or WS_EX_STATICEDGE;
// Params.Style := Params.Style or WS_SIZEBOX;
end;
Responder Con Cita
  #4  
Antiguo 02-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A mi me ha funcionado perfectamente en Delphi6 y Delphi2009;

Asegúrate de que has definido el procedimiento utilizando el override, para asegurarte de que se ejecuta.

Código Delphi [-]
procedure CreateParams(var Params: TCreateParams); override;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 02-06-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, como te dice Neftali debes sobreescribir el metodo y puede que te falte el override, también veo que el nombre del procedimiento que has puesto es CreateParms cuando debería ser CreateParams y utiliza WS_CAPTION en ves de WS_EX_STATICEDGE o también WS_BORDER.

Código Delphi [-]
   procedure CreateParams(var Params: TCreateParams); override;
 
   ................................................
 
procedure TfrmAfiliados.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.style := Params.style and not WS_CAPTION;
end;

//o
 
procedure TfrmAfiliados.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.style := Params.style and not WS_BORDER;
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 09-06-2010
OscarBravo OscarBravo is offline
Miembro
 
Registrado: feb 2007
Posts: 23
Poder: 0
OscarBravo Va por buen camino
Gracias por la solución

Compañeros. Gracias.

Ya me funcionó.
Responder Con Cita
  #7  
Antiguo 10-06-2010
OscarBravo OscarBravo is offline
Miembro
 
Registrado: feb 2007
Posts: 23
Poder: 0
OscarBravo Va por buen camino
Lo que pretendo al ocultar las barras de título de los formularios es hacer una aplicación parecida al explorador de Windows XP. (Del lado izquierdo puedes elegir cualquier opción y en el panel de la derecha muestra el contenido de la carpeta seleccionada en las opciones del panel izquierdo)[/font]
[FONT='Verdana','sans-serif']Claro que en mi aplicación pretendo mostrar los formularios o ventanas que el usuario seleccione, más no contenidos de carpetas. Para ello cloqué un TreeView alineado alLeft, en el formulario principal, el cual es un formulario MDI. Cuando el usuario hace clic en una de las opciones del TreeView, se crea un formulario de estilo fsMDIChild, de modo que puede abrir los formularios que sean necesarios (más de uno al mismo tiempo).

Asi Creo el/los formularios:
[FONT='Verdana','sans-serif']Utilizo una variable booleana (una por cada formulario) para controlar que cada formulario se cree una y solo una vez, en este caso la variable se llama bCreatedContratos.[/font]

Código Delphi [-]
If TreeViewMain.Selected.Text = 'Contratos' Then Begin
If Not bCreatedContratos Then TfrmContratos.Create(Self);
End;




En el evento Create del formulario coloco la variable en true (Así solo se crea una vez y para volverlo a crear debe ser cerrado previamente)


Código Delphi [-]
procedure TFrmContratos.FormCreate(Sender: TObject);
begin
FrmMain.bCreatedContratos := True;
end;




En el evento CLose del formulario la variable booleana la coloco en false

Código Delphi [-]
procedure TFrmContratos.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FrmMain.bCreatedContratos := False;
Action := CaFree;
end;





Es por eso que le quito las barras de titulo a los formularios (Creo que así logro simular el explorador de Windows XP), el problema es que si los formularios no tienen barras de titulo tampoco pueden tener la opción de minimizar y por ende cuando un formulario se abre Deja los otros formularios que están abiertos “Escondidos” y no es posible volver a trabajar con ellos, porque el último formulario abierto no deja hacer clic en los anteriormente abiertos, la idea es volver a hacer clic en la opción respectiva del treeview para volver a ver el formularioque ya esta creado, pero no se como traerlo al frente para continuar trabajando con él
TRABAJÉ también CON FRAMES.
Intenté también utilizando Frames previamente creados y arrastrados al formulario principal, es decir cada formulario sería reemplazado con un frame. Una vez colocados los frames en el formulario principal solo tengo que esconder los que no van a ser utilizados y mostrar solo el que será utilizado ( Frame actual). Pero me parece muy engorroso estar ocultando / mostrando todos los frames.

¿Conoce alguien alguna manera mas sencilla de hacer todo esto?

Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Popup de la barra de titulo _cero_ C++ Builder 2 05-06-2008 18:02:21
como cambiar el color de la barra de titulo de mi formulario kurono Varios 2 09-04-2008 00:53:41
URL en la barra de titulo??? Jonnathan Varios 7 30-01-2006 20:43:24
Como quitar la barra de título a una ventana hija de una aplicación MDI abracadabra OOP 1 15-12-2005 00:59:29
Label en la Barra de Titulo... nicolasdom Varios 1 04-10-2004 23:46:31


La franja horaria es GMT +2. Ahora son las 18:52:54.


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
Copyright 1996-2007 Club Delphi