Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Diciembre 27, 2011, 02:11:11 am

Título: Poner control a la altura de MshFlexGrid
Publicado por: YAcosta en Diciembre 27, 2011, 02:11:11 am
Hola, estoy hace buen rato queriendo resolverlo pero no lo logro.
Quiero que al hacer clic en una fila de un control MSHFlexGrid pueda poner a esa misma altura un control X (commandbuton, label, ucImage). No se si seria usando las coordenadas del mouse, aqui les doy una idea de lo que busco:
(https://public.bay.livefilestore.com/y1pmULQ8CkLRTThLeqQfULkaqfBdczNqnwDKpzQGcTglbAHE1055Yq4tWBk2Ic_xQaAfQVWXMgvjCrqIuT4QxoCog/MoveControl.JPG?psid=1)

Como ven, quiero que al hacer clic en el registro 006 poner el botón en esa posición, lo mismo que si hiciera clic en otro registro se vaya el botón a dicho control.

Lo que pretendo es poner algunos botones pequeños para editar y eliminar.

Gracias
Título: Re:Poner control a la altura de MshFlexGrid
Publicado por: pedroesca en Diciembre 27, 2011, 09:23:23 am
Hola YAcosta, intentá probar con:
 ->Evento click de la grilla()
            button.top=grid.top+cell.top: button.left=grid.left+cellLeft:
end Sub



Creo (creo), que así es, por lo menos para el FlexGrid común, calculo que el Hierarchical grid tiene las mismas propiedades.

Saludos y FELICES FIESTAS!!!!
Título: Re:Poner control a la altura de MshFlexGrid
Publicado por: YAcosta en Diciembre 27, 2011, 03:30:51 pm
Hola Pedro, lo que pasa es que con Grid1.Top el botón se va hasta arriba del control Grid y no hasta arriba de la fila, no logro conseguir el metodo por el cual pueda ubicar el boton en la fila que hice clic.

EDITO: Gracias tambien Pedro, entiendo por donde ibas, no lo habia captado. Saludos
Título: Re:Poner control a la altura de MshFlexGrid
Publicado por: erbuson en Diciembre 27, 2011, 03:42:46 pm
Hola, esta prueba con el MsFlexGrid funciona, por intentarlo no pierdes nada. Lo único que le he puesto es un Command1 para que me lo situe sobre la celda que recibe el Click.

Private Sub MSFlexGrid1_Click()
  Command1.Move MSFlexGrid1.CellLeft + MSFlexGrid1.Left, MSFlexGrid1.CellTop + MSFlexGrid1.Top
End Sub

Imagino que el problema está en que el MsFlexGrid no es un control contenedor y debe jugarse con eu Top/Left y el del la celda.

Saludos y ya me contarás
Título: Re:Poner control a la altura de MshFlexGrid
Publicado por: YAcosta en Diciembre 27, 2011, 03:55:27 pm
Funcionó perfecto erbuson, se comporta exactamente como lo necesitaba.
Termino el año con un problema menos jeje.

Cierto, olvide comentar que no pretendía contener al control, lo que buscaba era que se ubique por encima.

Muchas gracias.