FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Obtener Parent para mi componente
Hola gente del foro... mi problema es el siguiente: estoy desarrollando un componente q deriva del TDBEdit este contiene un boton y un TDBGrid, lo q hice fue algo como una lookup donde se pueden ver varias columnas, pues bien sucede q al usar el Parent del TDBEdit como Parent del TDBGrid si este es un panel por ejemplo la grilla solo se puede ver dentro de este panel... hmm necesito q esta grilla pueda ser visible dentro del form, de echo si es posible q pueda salir del form en caso d q estiviese por ejemplo muy abajo en el form no aparezca CORTADA la lista... bien espero me entiendan...
Como siempre les agradezco la colaboración y el tiempo q puedan dedicar a responder... Salu2
__________________
Diego. Colombia es pasión. |
#2
|
||||
|
||||
Hola foro, bien luego de algunas (muchas) horas de consultar la ayuda de delphi encontre algo q me soluciona el problema, para obtener el "MAINPARENT" de mi compente use GetOwner (Bastante Obvio ), bien con esto puedo hacer q el parent de cualquier componente q cree en ejecucion se al form donde se encuentra, volviendo al tema de mi componente continuo con un lio y es como obtener la posicion dentro del form de un componente q se encuentra dentro de un contenedor como un panel, es decir si me refiero a la propiedad Left de un componente dentro de un panel no es la misma a la q deberia tener dentro del form, como obtengo esta propiedad, igual sucede con la propiedad top... necesitos estos valores pero equivalentes dentro del form...
Bien como siempre Salu2
__________________
Diego. Colombia es pasión. |
#3
|
||||
|
||||
Si la componente está a 5 pixeles del borde izquierdo del panel y el panel está a 9 pixeles del borde izquierdo del formulario entonces la componente está a 5 + 9 = 14 pixeles del borde izquierdo del formulario. De aquí puedes deducir la fórmula necesaria:
Izquierda respecto al form = Componente.Left + Panel.Left Otra manera de hacerlo es usando el método ClientToScreen de la componente para convertir las coordenadas del TopLeft de la componente, relativas al panel, en coordenadas relativas a la pantalla, y luego el método ScreenToClient del formulario para convertir las coordenadas relativas a la pantalla en coordenadas relativas al formulario. // Saludos |
#4
|
||||
|
||||
Agradezco tu orientacion Roman, tu segunda opcion soluciono el problema...
Salu2...
__________________
Diego. Colombia es pasión. |
|
|
|