Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Msflexgrid

Estas en el tema de Msflexgrid en el foro de Visual Basic clásico en Foros del Web. Bueno, allá voy con el más dificil todavia... Alguien sabe cómo puedo seleccionar texto dentro de una celda de un MSFlexgrid??? y situar el cursor ...
  #1 (permalink)  
Antiguo 30/08/2006, 06:13
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta Msflexgrid

Bueno, allá voy con el más dificil todavia...
Alguien sabe cómo puedo seleccionar texto dentro de una celda de un MSFlexgrid??? y situar el cursor al principio, al final o entre las letras ya escritas???
ahí queda eso...
  #2 (permalink)  
Antiguo 30/08/2006, 08:04
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 18 años, 9 meses
Puntos: 2
queeee tal señorita vamos por parte un msflexgrid no tiene la posibilidad de edicion, para esto se trabaja con otras grillas o en su defecto con un textbox que hace las veces de celda activa, esto no es totalmente dificil, solo debes manejarte bien con el posisionamiento, deberias probar con algo asi
DpiRow=200
textedicion.top = (grilla.rows * DpiRow ) grilla1.top
textedicion.width = grilla.colwith(grilla.col)
txtedicion.text = grilla.text
txtedicion.visible=true
txtedicion.selstart =0
txtedicion.selenght = len(txtedicion.text)

cozas asi jugar con el valor del dpi etc
  #3 (permalink)  
Antiguo 04/09/2006, 22:53
Avatar de Neverhood  
Fecha de Ingreso: abril-2001
Ubicación: Uruapan, Michoacán.
Mensajes: 109
Antigüedad: 24 años
Puntos: 0
No es algo sencillo, pero aquí lo tienes:

El código del FLEX:
Código:
Private Sub Flex1_KeyPress(KeyAscii As Integer)
    Dim LeftCel As Long, LeftFlx As Long
    Dim TopCel As Long, TopFlx As Long
    Dim WidthCel As Long, HeightCel As Long
    Dim Contenido As String
    Dim Fila As Long, Columna As Long

    If KeyAscii = vbKeyReturn Then
        Fila = Flex1.Row: Columna = Flex1.Col
        Contenido = Flex1.Text
        ContenidoAnterior = Flex1.Text
        If Fila > 0 And Columna = 1 Then 'solo si quieres limitar cual columna es editable, si no, elimina esta linea
            With Flex1
                LeftCel = .CellLeft
                TopCel = .CellTop
                WidthCel = .CellWidth
                HeightCel = .CellHeight
                LeftFlx = .Left
                TopFlx = .Top
                Contenido = .Text
                .Enabled = False
            End With

            With TxtDecim
                .Height = HeightCel
                .Width = WidthCel
                .Left = LeftCel + LeftFlx
                .Top = TopCel + TopFlx
                .Text = Contenido
                .Visible = True
                .SetFocus
            End With
        End If

        KeyAscii = 0
    End If
End Sub
Ahora el código del TEXT:
Código:
Private Sub TxtDecim_KeyPress(KeyAscii As Integer)
    Dim ContenidoText As String
    
    If KeyAscii = vbKeyReturn Then
        With TxtDecim
            ContenidoText = .Text
            .Visible = False
        End With
        With Flex1
            .Text = ContenidoText
            .Enabled = True
            .SetFocus
        End With
    End If
End Sub
Espero te sirva!!! Y cualquier duda, estoy a tus órdenes
__________________
Un saludo desde Uruapan, Michoacán.
L.I. Enrique Campos Gómez, Desarrollador de Software, Municipio de Uruapan Michoacán
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:35.