MSHFlexGrid
Hola todos.
Necesito saber cómo controlar en un MSHFlexGrid la casilla que el usuario me está seleccionando con el mouse puesto que si utilizo el evento click no funciona correctamente, a veces me selecciona la casilla anterior y si utilizo RowColChange si el usuario me selecciona la casilla que por defecto esta seleccionada no hace nada.
Espero me puedan ayudar.
Necesito saber cómo controlar en un MSHFlexGrid la casilla que el usuario me está seleccionando con el mouse puesto que si utilizo el evento click no funciona correctamente, a veces me selecciona la casilla anterior y si utilizo RowColChange si el usuario me selecciona la casilla que por defecto esta seleccionada no hace nada.
Espero me puedan ayudar.
Aparte de COL y ROW ¿que no funcionan para las celdas de FIXEDROWS ni FIXEDCOLS? tienes las propiedades MouseROW y MouseCOL.
Saludos.
Saludos.
Gracias por tu ayuda.
Pero la propiedad MouseRow, que es la que necesito, me selecciona 6 celdas después de la que yo selecciono con el mouse.
Y no te entendí bien lo de FixedRows y FixedCols.
Gracias de nuevo.
Pero la propiedad MouseRow, que es la que necesito, me selecciona 6 celdas después de la que yo selecciono con el mouse.
Y no te entendí bien lo de FixedRows y FixedCols.
Gracias de nuevo.
MouseRow te devuelve la fila donde está el ratón, y MouseCol la columna. con esos dos datos tienes perfectamente localizada la celda, no?
Lo del fixedcols y fixedrows es lo siguiente:
si pones columnas o filas fijas (darle valor a fixedcols o fisedrows) tendrás columnas y filas en color gris (salvo que lo cambies) a las que no se puede acceder, de modo que si haces click en una celda FIJA la propiedad col será la de la primera columna que no sea fija, y con ROW ocurre lo mismo. En cambio, mousecol y mouserow te devuelven el valor exacto de la celda donde estás haciendo click.
en fin, que lo que creo que deberías hacer es, en el evento click (o doubleclick) poner:
fila=MGrid1.MouseRow
columna=MGrid1.MouseCol
y hacer con esos valores lo que que quieras.
Espero haberme explicado bien.
saludos
Lo del fixedcols y fixedrows es lo siguiente:
si pones columnas o filas fijas (darle valor a fixedcols o fisedrows) tendrás columnas y filas en color gris (salvo que lo cambies) a las que no se puede acceder, de modo que si haces click en una celda FIJA la propiedad col será la de la primera columna que no sea fija, y con ROW ocurre lo mismo. En cambio, mousecol y mouserow te devuelven el valor exacto de la celda donde estás haciendo click.
en fin, que lo que creo que deberías hacer es, en el evento click (o doubleclick) poner:
fila=MGrid1.MouseRow
columna=MGrid1.MouseCol
y hacer con esos valores lo que que quieras.
Espero haberme explicado bien.
saludos
Prueba el siguiente codigo espero sea lo que esperabas, cambia el msgbox por el codigo que realize lo que deseas cuando selecciones la casilla
Private Sub MSHFlexGrid1_Click()
MSHFlexGrid1_RowColChange
End Sub
Private Sub MSHFlexGrid1_RowColChange()
MsgBox "Fila:" & Me.MSHFlexGrid1.Row & ",Columna:" & Me.MSHFlexGrid1.Col
End Sub
Private Sub MSHFlexGrid1_Click()
MSHFlexGrid1_RowColChange
End Sub
Private Sub MSHFlexGrid1_RowColChange()
MsgBox "Fila:" & Me.MSHFlexGrid1.Row & ",Columna:" & Me.MSHFlexGrid1.Col
End Sub
