Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2013
Avatar de ginkaku
ginkaku ginkaku is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 59
Poder: 12
ginkaku Va por buen camino
Sintáxis de SetParent en Builder C++

Buenas por motivos de estudio estoy trabajando en c++ y hay un codigo que usaba antes en mis proyectos en delphi: Windows.SetParent(Form2.Handle, Panel2.Handle);
Me podrian decir como se escribe en c++ embarcadero. De antemano muchas gracias
pdta: El proyecto es sobre formularios dentro de otros formularios por eso usaba ese codigo si tuvieran otra idea se les agradeceria
Responder Con Cita
  #2  
Antiguo 23-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Responder Con Cita
  #3  
Antiguo 23-03-2013
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
Cita:
Empezado por ginkaku Ver Mensaje
Buenas por motivos de estudio estoy trabajando en c++ y hay un codigo que usaba antes en mis proyectos en delphi: Windows.SetParent(Form2.Handle, Panel2.Handle);
Me podrian decir como se escribe en c++ embarcadero.
...
Hola ginkaku.

Esa sentencia se escribe:
Código:
  ::SetParent(Form2->Handle, Panel2->Handle);
Saludos.

Pd: Por favor, trata de poner títulos relacionados con el problema que vas a publicar. Si mas adelante alguién busca por "SetParent en Builder C++" difícilmente podrá encontrarlo bajo el título "Ayuda en este codigo".
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 23-03-2013 a las 20:46:44.
Responder Con Cita
  #4  
Antiguo 23-03-2013
Avatar de ginkaku
ginkaku ginkaku is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 59
Poder: 12
ginkaku Va por buen camino
Muchisimas gracias me estaba volviendo loco, funciono perfectamente. Y procurare leer las normas de post en el futuro . Enserio thk
Responder Con Cita
  #5  
Antiguo 24-03-2013
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 ginkaku.

Como un comentario adicional, el código:
Código:
  
  ::SetParent(Form2->Handle, Panel2->Handle);
Tiene el mismo efecto que:
Código:
  
  Form2->Parent = Panel2;
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 25-03-2013
Avatar de ginkaku
ginkaku ginkaku is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 59
Poder: 12
ginkaku Va por buen camino
Form2->Parent = Panel2; esto funcionaba no cabe duda y yo lo usaba de hecho. Pero no tenia acceso a los focos(creo q asi se dice) no podia usar los edit solo botones, por eso necesitaba el otro codigo
Responder Con Cita
  #7  
Antiguo 25-03-2013
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 ginkaku.

No logro entender en que contexto estás teniendo problemas para usar uno u otro modo. Es decir, si podes acceder a las propiedades Handle, también tenes que poder acceder a las propiedades Parent.

Por ejemplo, estos dos códigos son equivalentes:
1)
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Form2 = new TForm2(this); // (*)

  Form2->Parent  = Panel1;
  Form2->Align   = alClient;
  Form2->Show();
}
2)
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Form2 = new TForm2(this);

  ::SetParent(Form2->Handle, Panel1->Handle);
  SetWindowPos(Form2->Handle,HWND_TOP, 0, 0,
    Panel1->ClientWidth, Panel1->ClientHeight, SWP_NOACTIVATE);
  Form2->Show();
}
Y, para agregar una opción diferente, de este modo lo muestra sin título ni bordes como si fuera un TFrame:
Código:
void __fastcall TForm1::btManualDockClick(TObject *Sender)
{
 Form2 = new TForm2(this); // (*)

 Form2->Show();
 Form2->ManualDock(Panel1, NULL, alClient);
 Form2->Align = alClient;
}
(*) Esta linea es innecesaria si Form2 se encuentra en: Project => Options => Forms => Auto-create forms.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 25-03-2013
Avatar de ginkaku
ginkaku ginkaku is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 59
Poder: 12
ginkaku Va por buen camino
Alohaa ecfisa.
Muchas gracias por el interés y por el tiempo dedicado al tema es un gusto ver la gran actividad de la comunidad. Respecto al post como te decía estoy haciendo un proyecto donde un form1 tiene un panel dentro, y bien por medio de un botón llamo al form2 dentro del panel. Precisamente en este mismo foro encontré el código que me ayudaba pero estaba en delphi y el creador del post tenia el mismo problema..."lograba llamar al form peeero aparecia bloqueado los edits", y gracias a la ayuda del foro le dieron el código solución...si mal no recuerdo "metiendo mano a la api : Windows.SetParent(Form2.Handle, Panel2.Handle);".
Gracias a ti pude trasladar esa pequeña linea a c++ y todo marcha de maravilla. No me explico porque el otro código(opción 1 que me planteaste) no logra tener el mismo efecto que la segunda.
Pues no quise profundizar en cosas de form padres y form hijos porque este código funciona de maravilla, tal ves alguien tenga una mejor manera de hacerlo lo cual no dudo, pero como te digo gracias a tu aporte me sigue yendo bien.
Responder Con Cita
  #9  
Antiguo 26-03-2013
Avatar de lmpadron
lmpadron lmpadron is offline
Miembro
 
Registrado: feb 2009
Ubicación: Habana, Cuba
Posts: 204
Poder: 16
lmpadron Va por buen camino
Hola ginkaku, podrías postear el código en c++ o al menos la referencia al post del club donde lo encontraste en delphi ?? también estoy interesado en este tema y me estoy casi seguro de que me va a ser muy útil

P.D.
Saludos Ecfisa !!!
__________________
Nunca esta de más volver a ver la "Guia de Estilo" o "La Otra Guia de Estilo". Recuerda siempre usar los "Tags" para una mejor legibilidad de tu código.


Cuando miras fijamente al abismo, este te devuelve la mirada


oo______ooo_____ooo_ooooooo_____ooo____oooooo____ooooooo______oooo____ooo____oo_
oo______oooo___oooo_oo____oo__oo___oo__oo____oo__oo____oo___oo____oo__oooo___oo_
oo______oo_oo_oo_oo_oo____oo_oo_____oo_oo_____oo_oo____oo__oo______oo_oo_oo__oo_
oo______oo__ooo__oo_oooooo___ooooooooo_oo_____oo_ooooooo___oo______oo_oo__oo_oo_
oo______oo_______oo_oo_______oo_____oo_oo____oo__oo____oo___oo____oo__oo___oooo_
ooooooo_oo_______oo_oo_______oo_____oo_oooooo____oo_____oo____oooo____oo____ooo_
________________________________________________________________________________
Responder Con Cita
  #10  
Antiguo 26-03-2013
Avatar de ginkaku
ginkaku ginkaku is offline
Miembro
NULL
 
Registrado: nov 2012
Posts: 59
Poder: 12
ginkaku Va por buen camino
El post original donde lo encontre era: www.clubdelphi.com/foros/showthread.php?t=71783

Lo siento aun no me es permitido colocar enlaces en el foro pero esa es la dirección aumentando el triple w.
Si quieres el código en c++ es precisamente el que coloco ecfisa en la opcion2, recuerda tener un formulario con un panel, un segundo formulario para llamar y un botón. Es muy útil yo lo uso a menudo, saludos!!!!!!!

Última edición por ecfisa fecha: 26-03-2013 a las 20:11:19. Razón: Editar enlace
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Sintaxis humana roman Debates 34 10-12-2010 18:31:25
Problema con SetParent vejerf Varios 1 21-05-2010 14:41:08
Sintaxis con count zvf SQL 17 31-01-2008 02:02:18
Sintaxis en el SQL Alexander SQL 2 11-09-2006 19:13:17
Que tengo mal en mi sintaxis kamikaz SQL 2 28-08-2004 03:16:04


La franja horaria es GMT +2. Ahora son las 20:16:47.


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