Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-09-2015
choclito1 choclito1 is offline
Miembro
NULL
 
Registrado: jun 2015
Posts: 15
Poder: 0
choclito1 Va por buen camino
Centrar un form en un panel

Buenas tardes amigos del foro, viendo los post pude insertar un form dentro de un panel, luego quisiera que el form en el panel este en el centro con la ayuda del foro puse el siguiente codigo:
Código Delphi [-]

f_modalidad:=Tf_modalidad.Create(Self);
f_modalidad.Parent:=Panel1;

 f_modalidad.Top := (panel1.Height  div 2) - (f_modalidad.Height div 2) ;
  f_modalidad.Left :=(panel1.Width div 2) -  (f_modalidad.Width div 2);
f_modalidad.ClientWidth:=panel1.Width div 2;
f_modalidad.ClientHeight:=panel1.Height div 2;
f_modalidad.Show;
f_modalidad.SetFocus;
pero no me coloca en el centro que puedo estar haciendo mal, estare agradecido a la ayuda que me puedan brindar
Tambien utilice este codigo
Código Delphi [-]

f_modalidad.ManualDock(Panel1, nil, alcustom);
 f_modalidad.show;
estare muy agradecido amigos del foro por la ayuda que me brinden
Responder Con Cita
  #2  
Antiguo 09-09-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola choclito1.

Fijate si este ejemplo se asemeja a lo que buscas:
Código Delphi [-]
procedure TForm1.Panel1Click(Sender: TObject);
var
  F: TForm;
begin
  F:= TForm.Create(Self);
  F.Parent:= Panel1;
  F.Color := clMoneyGreen;
  F.ManualDock(Panel1, nil, alNone);
  F.Width := Panel1.Width - 30;
  F.Height:= Panel1.Height - 30;
  F.Left  := (Panel1.Width - F.Width) div 2;
  F.Top   := (Panel1.Height - F.Height) div 2;
  F.Show;
end;

Salida:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 09-09-2015
choclito1 choclito1 is offline
Miembro
NULL
 
Registrado: jun 2015
Posts: 15
Poder: 0
choclito1 Va por buen camino
Gracias por tu respuesta

Muchas gracias por responder ecfisa lo probare y estare comentando los resultados, comentarles que trabajo con delphi xe2.
Para explicarles mejor mi problema que en el form principal tengo un menu a la izquiera donde al hacer clic en cada opcion me muestre los forms contenidos en el panel que este a la derecha
Ahora comentarles que con el codigo que mostre coloco los forms dentro del panel, pero ahora tengo el problema que cuando hago clic en la opcion 1 me muestra el form2 y si hago clic en la opcion 2 me sobre pone el form2 sobre el form1 en el panel
Cual seria el codigo para que al hacer clic en cualquier opcion del menu me muestre el form de esa opcion y si ya se tiene otro form en el panel se destruya o se elimine y solo me muestre un solo form
Comentarles que busque en el foro y no encontre problemas similares al que solicito su ayuda, espero me hayan entendido , muchas gracias amigos del foro
Responder Con Cita
  #4  
Antiguo 09-09-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

No sé si capté claramente la idea... Pero te pongo un ejemplo que realiza lo que entendí que consultas debajo:
Cita:
Empezado por choclito1 Ver Mensaje
..
Cual seria el codigo para que al hacer clic en cualquier opcion del menu me muestre el form de esa opcion y si ya se tiene otro form en el panel se destruya o se elimine y solo me muestre un solo form
...
Código Delphi [-]
...
implementation

// Los forms que uses. ( ¡¡ Quitados de Auto-create forms !! )
uses Unit2, Unit3, Unit4, Unit5;

var
  vForms: array of TForm;
  ixForm: Integer = -1;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  // Tag como índice
  for i:= 0 to ToolBar1.ButtonCount-1 do
    ToolBar1.Buttons[i].Tag := i;
 // forms a arreglo
  SetLength(vForms, ToolBar1.ButtonCount);
  vForms[0] := Form2;
  vForms[1] := Form3;
  vForms[2] := Form4;
  vForms[3] := Form5;
end;

// Motrar form (evento asignado a todos los ToolButtons)
procedure TForm1.ToolButtonsClick(Sender: TObject);
var
  F: TForm;
begin
  if ixForm > -1 then
    vForms[ixForm].Free;
  ixForm := TToolButton(Sender).Tag;
  F := vForms[ixForm];
  case ixForm of
    0: F := TForm2.Create(Self);
    1: F := TForm3.Create(Self);
    2: F := TForm4.Create(Self);
    3: F := TForm5.Create(Self);
  end;
  F.ManualDock(Panel1, nil, alNone);
  F.Width   := Panel1.Width - 30;
  F.Height  := Panel1.Height - 30;
  F.Left    := (Panel1.Width - F.Width) div 2;
  F.Top     := (Panel1.Height - F.Height) div 2;
  F.Parent  := Panel1;
  F.Show;
end;
Con este resultado:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 09-09-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Muy bueno, creo que no había visto antes "incrustar" Forms de esa manera.
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
centrar timage en una form JXJ Varios 4 05-10-2017 23:51:30
Centrar panel David82 PHP 4 06-10-2008 09:02:49
Centrar un frame sobre un panel en tiempo de ejecución Albano OOP 4 07-03-2007 23:47:16
Centrar Form sin parpadeos. waly2k1 Varios 3 20-02-2007 20:10:52


La franja horaria es GMT +2. Ahora son las 04:51:05.


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