DTPICKER NO MSFLEXGRID NÃO APARECE
VB6
Amigos poderiam me ajudar a fazer o DTPicker aparecer no grid?
Bem se o grid não estiver no FRAME o DTPicker aparece sem problemas, mas, quando coloco o MSFlexGrid no FRAME aà não aparece.
Option Explicit
[ô] ----------------------------------------------------------------------------------
[ô] \\ -- Inicio
[ô] ----------------------------------------------------------------------------------
Private Sub Form_Load()
[ô] -- Configurar la Grilla
With MSFlexGrid1
.FixedCols = 0
.FixedRows = 1
[ô] -- Modo de selección por Celda
.SelectionMode = flexSelectionFree
[ô] -- Insertar dos columnas
.Cols = 2
.Rows = 1
[ô] -- Agregar encabezados
.FormatString = [Ô]Usuario|Fecha de alta[Ô]
[ô] -- Agregar columna de Usuarios y fecha de alta
Dim Fila As Long
For Fila = 0 To 20
[ô] -- Indicar la altura de cada celda del GRID
.RowHeight(Fila) = 375
.AddItem [Ô]Usuatio: [Ô] & CStr(Fila) & vbTab & CStr(DateAdd([Ô]m[Ô], Fila, Date))
Next
[ô] -- ancho de las columnas
.ColWidth(0) = 2000
.ColWidth(1) = 2500
End With
DTPicker1.Visible = False
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Enviar Enter al hacer doble Click
[ô] ----------------------------------------------------------------------------
Private Sub MSFlexGrid1_DblClick()
MSFlexGrid1_KeyPress 13
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- [ô]Especificar acá la columna de la fecha ( en este caso se usa la columna 2 ( Columna con Ãndice 1))
[ô] ----------------------------------------------------------------------------
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
[ô] -- Columna 2
If MSFlexGrid1.Col = 1 Then
With MSFlexGrid1
[ô] -- Asignar la fecha ( El texto de la celda en el DTPicker)
If Trim(.Text) <> vbNullString Then
DTPicker1.Value = Format(.Text, [Ô]Short Date[Ô]) [ô] -- formato de fecha Corto
Else
DTPicker1.Value = Format(Date, [Ô]Short Date[Ô])
End If
[ô] -- Redimensionar y posicionar el DTPicker
DTPicker1.Move (.Left + .CellLeft), _
(.Top + 30 + (.RowHeight(0) * (.Row - .TopRow + 1))), _
(.CellWidth), _
(.CellHeight + 30)
[ô] -- Hacer visible y pasarle el foco
DTPicker1.Visible = True
DTPicker1.Enabled = True
DTPicker1.SetFocus
End With
End If
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Al mover el Scroll del Grid ocultar el control de fecha
[ô] ----------------------------------------------------------------------------
Private Sub MSFlexGrid1_Scroll()
DTPicker1.Visible = False
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Cambiar la fecha de la celda al cambiar el valor en el control de fecha
[ô] ----------------------------------------------------------------------------
Private Sub DTPicker1_Change()
With MSFlexGrid1
.TextMatrix(.Row, .Col) = DTPicker1.Value
End With
End Sub
Private Sub DTPicker1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim c As Long
With MSFlexGrid1
c = .Col
Select Case KeyCode
Case 13, 9
.RowData(.Row) = 1
DTPicker1.Visible = False
DTPicker1.Enabled = False
.SetFocus
.Col = c
End Select
End With
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Ocultar DTPicker cuando pierde el foco
[ô] ----------------------------------------------------------------------------
Private Sub DTPicker1_LostFocus()
DTPicker1.Visible = False
End Sub
Amigos poderiam me ajudar a fazer o DTPicker aparecer no grid?
Bem se o grid não estiver no FRAME o DTPicker aparece sem problemas, mas, quando coloco o MSFlexGrid no FRAME aà não aparece.
Option Explicit
[ô] ----------------------------------------------------------------------------------
[ô] \\ -- Inicio
[ô] ----------------------------------------------------------------------------------
Private Sub Form_Load()
[ô] -- Configurar la Grilla
With MSFlexGrid1
.FixedCols = 0
.FixedRows = 1
[ô] -- Modo de selección por Celda
.SelectionMode = flexSelectionFree
[ô] -- Insertar dos columnas
.Cols = 2
.Rows = 1
[ô] -- Agregar encabezados
.FormatString = [Ô]Usuario|Fecha de alta[Ô]
[ô] -- Agregar columna de Usuarios y fecha de alta
Dim Fila As Long
For Fila = 0 To 20
[ô] -- Indicar la altura de cada celda del GRID
.RowHeight(Fila) = 375
.AddItem [Ô]Usuatio: [Ô] & CStr(Fila) & vbTab & CStr(DateAdd([Ô]m[Ô], Fila, Date))
Next
[ô] -- ancho de las columnas
.ColWidth(0) = 2000
.ColWidth(1) = 2500
End With
DTPicker1.Visible = False
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Enviar Enter al hacer doble Click
[ô] ----------------------------------------------------------------------------
Private Sub MSFlexGrid1_DblClick()
MSFlexGrid1_KeyPress 13
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- [ô]Especificar acá la columna de la fecha ( en este caso se usa la columna 2 ( Columna con Ãndice 1))
[ô] ----------------------------------------------------------------------------
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
[ô] -- Columna 2
If MSFlexGrid1.Col = 1 Then
With MSFlexGrid1
[ô] -- Asignar la fecha ( El texto de la celda en el DTPicker)
If Trim(.Text) <> vbNullString Then
DTPicker1.Value = Format(.Text, [Ô]Short Date[Ô]) [ô] -- formato de fecha Corto
Else
DTPicker1.Value = Format(Date, [Ô]Short Date[Ô])
End If
[ô] -- Redimensionar y posicionar el DTPicker
DTPicker1.Move (.Left + .CellLeft), _
(.Top + 30 + (.RowHeight(0) * (.Row - .TopRow + 1))), _
(.CellWidth), _
(.CellHeight + 30)
[ô] -- Hacer visible y pasarle el foco
DTPicker1.Visible = True
DTPicker1.Enabled = True
DTPicker1.SetFocus
End With
End If
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Al mover el Scroll del Grid ocultar el control de fecha
[ô] ----------------------------------------------------------------------------
Private Sub MSFlexGrid1_Scroll()
DTPicker1.Visible = False
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Cambiar la fecha de la celda al cambiar el valor en el control de fecha
[ô] ----------------------------------------------------------------------------
Private Sub DTPicker1_Change()
With MSFlexGrid1
.TextMatrix(.Row, .Col) = DTPicker1.Value
End With
End Sub
Private Sub DTPicker1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim c As Long
With MSFlexGrid1
c = .Col
Select Case KeyCode
Case 13, 9
.RowData(.Row) = 1
DTPicker1.Visible = False
DTPicker1.Enabled = False
.SetFocus
.Col = c
End Select
End With
End Sub
[ô] ----------------------------------------------------------------------------
[ô] \\ -- Ocultar DTPicker cuando pierde el foco
[ô] ----------------------------------------------------------------------------
Private Sub DTPicker1_LostFocus()
DTPicker1.Visible = False
End Sub
Já verificou o TabIndex do controle? Se ele não aparece é quase certo que está oculto pelo Frame.
Citação::
Já verificou o TabIndex do controle? Se ele não aparece é quase certo que está oculto pelo Frame.
o Tabindex está igual a zero.
De qual controle?
DTPicker
WBUZOO ja tentou recortar o dtpicker, depois selecionar o frame e colar
Tópico encerrado , respostas não são mais permitidas