Visual Basic - Como localizar las cordenadas de un objeto no fijo

Life is soft - evento anual de software empresarial
 
Vista:

Como localizar las cordenadas de un objeto no fijo

Publicado por Andres (110 intervenciones) el 30/06/2005 00:54:05
Hola.

Tengo un objeto en un formulario, este objeto en un textbox. Éste, tiene una ubicacion especifica. dentro de un objeto por lo cual su propiedad Top puede ser 0 aun estando a la mitad del formulario. igual su Left puede ser 0 estando el final del formulario. como ven, no puedo utilizar las propiedades mencionadas del objeto, porque medan la condenadas incorrectas. (el objeto donde se encuentra, es un ToolBar, el cual esta dentro de un CoolBar)
Ademas, éste Textbox, variara su posicion, cuando en el equipo que se ejecuta, tiene resoluciones diferentes. que es muy posible. 800x600 - 1024x780 - etc.

En si, requiero ayuda para establecer las cordenadas del objeto respecto a la pantalla o al formulario que contiene el objeto.

Deseo que funcione similar a un objeto Combo, sacando una lista debajo del propio Textbox, sin embargo, no puedo establecer donde podria estar.

Gracias.

Referencia:
Visual Basic 6.0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Como localizar las cordenadas de un objeto no f

Publicado por SuNcO (599 intervenciones) el 30/06/2005 01:54:37
Intentaste jugar con las coordenadas ? Por ejemplo yo puse en un PictureBox un TextBox y un boton.. al darle click al boton aparece un ListBox

El PictureBox puede moverse depende la configuracion de pantalla o el Tamaño del Formulario (osea si lo hago mas grande o mas chico)

Private Sub Command1_Click()
List1.Visible = True
List1.Top = Picture1.Top + 100
List1.Left = Picture1.Left
End Sub

Private Sub List1_DblClick()
List1.Visible = False
End Sub

En tu caso seria jugar con las coordenadas del CoolBar (que jamas eh utilizado), luego las del ToolBar y al final del TextBox (o del PictureBox)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como localizar las cordenadas de un objeto no f

Publicado por AFleming (52 intervenciones) el 30/06/2005 03:04:18
... de todos modos cada objeto posee una propiedad llamada <Container> la cual es un puntero al objeto en el cual esta contenido.
entonces, para saber la posicion del objeto seria:
Px=Objeto.Container.Left + Objeto.Left
Py=Objet.Container.Top + Objeto.Top

se sabe que ya no tiene mas contenedores cuando el puntero es el formulario.

entiendes??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias.

Publicado por Andres (110 intervenciones) el 02/07/2005 01:27:21
Gracias por las soluciones, sin embargo, no solucionan al 100% mi problema.
He ensayado ambos ejemplos y aun asi, es imposible. Si tienen otra solucion, les agradezco comunicarlmela, entre tanto, vere que marañas puedo hacer.

Informacion sobre el Coolbar
El Coolbar, es un objeto que permite incluir toolbar's, dentro de cada banda como "Hijos". en si, este objeto, sirve para dar una bonita apariencia a la aplicacion, debido a que podes contener varias barras de la aplicacion y hace posible, sacar una barra dentro de una ventana si el usuario decide hacerlo. eso sí, para llegar ha hacer esto, hay que camellarle. este objeto lo ves en las aplicaciones en que las barras tienen un borde (linea) 3D al iniciar la barra. como por ejemplo Word, etc.

en los componentes, es el Microsoft Windows Common Controls-3 6.0

Cabe anotar si lo prueban para mi caso, el textbox, esta dentro del toolbar y este toolbar, esta dentro de la banda 2 del Coolbar, las bandas, son las Bandas : # donde va cada barra de herramientas (toolbar's), como esta se puede mover hacia arriba o abajo y tambien puede compartir un mismo renglon con otra barra de herramientas, es dificil determinar, la ubicacion del ultimo objeto y el importante. El textbox.

Agradezco la colaboracion y la atencion.

Andres - Loun_in
Medellin - Colombia

Como va el clima por alla? - por aqui esta es, llevado.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Gracias.

Publicado por SuNcO (599 intervenciones) el 02/07/2005 05:30:36
Enviame un codigo (que no haga nada) que utilize coolbar y toolbars como dices para ver que se puede hacer

Incluye el ocx del coolbar y lo que se pueda ocupar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Te envie el Correo - me dices si no te llega. Grac

Publicado por Andres-Loud_in (110 intervenciones) el 02/07/2005 19:04:18
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Te envie el Correo - me dices si no te llega. G

Publicado por SuNcO (599 intervenciones) el 02/07/2005 22:52:40
Ok si llego y ya lo respondi.. por si alguien mas le interesa com osacar las coordenadas de un objeto aunque se encuentre en otra posicion

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Type RECT
X As Long
Y As Long
Ancho As Long
Alto As Long
End Type

Private Sub TextoConsulta_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Rec As RECT
GetWindowRect TextoConsulta.hwnd, Rec

VentanaConsulta.Left = Rec.X * 15
VentanaConsulta.Top = Rec.Y * 15
VentanaConsulta.Visible = True
End Sub

Se me paso decirte que felicidades por tu buen diseño, me gusta mucho tu estilo y vi un par de cosas que pienso copiar (solo ideas) =P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Perfecto.

Publicado por Loud_In (110 intervenciones) el 02/07/2005 23:04:13
Hey viejo muchas gracias.
Super bien.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar