MSFLEXGRID1 -- URGENTE
alguem sabe como fazer para q uma determinada coluna so aceite ser digitado uma data ???/ nao consigo fazer ...
preciso q na coluna 3 o usuário apenas possa digitar uma data ..
MSFlexGrid1.Rows = 150 [ô] Determinal Numero de Linhas do Flexgrid
MSFlexGrid1.Cols = 4 [ô] Determinal Numero de Colunas do Flexgrid
MSFlexGrid1.FixedCols = 0 [ô]Determinal Quantas Colunas Fixas Vai Ter o Flexgrid
MSFlexGrid1.FixedRows = 1 [ô]Determinal Quantas Linhas Fixas Vai Ter o Flexgrid
With MSFlexGrid1
.TextMatrix(0, 0) = [Ô]Marcar[Ô]
.TextMatrix(0, 1) = [Ô]Código[Ô]
.TextMatrix(0, 2) = [Ô]Andamento[Ô]
.TextMatrix(0, 3) = [Ô]Data Ação[Ô]
.ColAlignment(0) = 3
.ColAlignment(1) = 3
.ColAlignment(2) = 2
.ColAlignment(3) = 2
.ColWidth(0) = 800
.ColWidth(1) = 900
.ColWidth(2) = 3520
.ColWidth(3) = 1100
End With
preciso q na coluna 3 o usuário apenas possa digitar uma data ..
MSFlexGrid1.Rows = 150 [ô] Determinal Numero de Linhas do Flexgrid
MSFlexGrid1.Cols = 4 [ô] Determinal Numero de Colunas do Flexgrid
MSFlexGrid1.FixedCols = 0 [ô]Determinal Quantas Colunas Fixas Vai Ter o Flexgrid
MSFlexGrid1.FixedRows = 1 [ô]Determinal Quantas Linhas Fixas Vai Ter o Flexgrid
With MSFlexGrid1
.TextMatrix(0, 0) = [Ô]Marcar[Ô]
.TextMatrix(0, 1) = [Ô]Código[Ô]
.TextMatrix(0, 2) = [Ô]Andamento[Ô]
.TextMatrix(0, 3) = [Ô]Data Ação[Ô]
.ColAlignment(0) = 3
.ColAlignment(1) = 3
.ColAlignment(2) = 2
.ColAlignment(3) = 2
.ColWidth(0) = 800
.ColWidth(1) = 900
.ColWidth(2) = 3520
.ColWidth(3) = 1100
End With
Você pode fazer um esquema usando o componente MaskEdBox para auxiliar:
1) Coloque um MaskEdBox com propriedade invisivel no form.
2) Quando o usuário clicar ou precionar enter sobre uma célula do MaskEdBox e a posição da célula for aquela que você quer editar com formato de data, voce posiciona o MaskEdBox na exata posição da célula e deixa o MaskEdBox com propriedade visivel.
3) Ao clicar enter sobre o MaskEdBox você atualiza o MsFlexgrid e deixa a propriedade do MaskEdBox como invisivel.
Usei desta forma para permitir alterar datas de vencimento e valor de parcelas.
Só não posso de mandar exemplo do código porque não está comigo agora, mas encontrei isso no google...
1) Coloque um MaskEdBox com propriedade invisivel no form.
2) Quando o usuário clicar ou precionar enter sobre uma célula do MaskEdBox e a posição da célula for aquela que você quer editar com formato de data, voce posiciona o MaskEdBox na exata posição da célula e deixa o MaskEdBox com propriedade visivel.
3) Ao clicar enter sobre o MaskEdBox você atualiza o MsFlexgrid e deixa a propriedade do MaskEdBox como invisivel.
Usei desta forma para permitir alterar datas de vencimento e valor de parcelas.
Só não posso de mandar exemplo do código porque não está comigo agora, mas encontrei isso no google...
Vc pode também através do evento KeyPress fazer com que todo input componha uma data.
federhen..fiz como você falou e tá quase ok...só tem um probleminha e preciso ver se é possÃvel...ao apareceo o campo __/__/____ o usuário ao clicar para digitar por eemplo ele coloca 04 só que a barra ( / ) se desloca para a direita..tem como deixar fixo o campo nesse formato e o cliente só digitat em cima sem nada se [Ô]mover[Ô] ????
Usa as seguintes propriedades no MaskEdBox
Mask = 99/99/9999
Format = dd/mm/yyyy
PromptChar = (um espaço em branco)
Mask = 99/99/9999
Format = dd/mm/yyyy
PromptChar = (um espaço em branco)
FEDERHEN,as propriedades já estão assim..ao digitar qualquer coisa move as barras ...
Tente:
Mask = ##/##/####
Mask = ##/##/####
mesma coisa LLAIA, o campo(3) vem no formato / / na tela, quando clico na coluna e vou dgitar as barras vão para o lado, não ficam fixas...
e me esqueci...ele deixa digitar n caracteres,não respeita nem o formato do campo ....
eu tenho um campo maskedbox na tela e coloquei mais estes comandos, será q está faltando algo ???
Private Sub MSFlexGrid1_EnterCell()
DTX_DT_JUIZO.Visible = True
DTX_DT_JUIZO.Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop
DTX_DT_JUIZO.Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft
DTX_DT_JUIZO.Width = MSFlexGrid1.CellWidth
DTX_DT_JUIZO = [Ô] / / [Ô]
DTX_DT_JUIZO.SelLength = Len(DTX_DT_JUIZO.Text)
End Sub
form_load:
MSFlexGrid1.Rows = 150 [ô] Determinal Numero de Linhas do Flexgrid
MSFlexGrid1.Cols = 4 [ô] Determinal Numero de Colunas do Flexgrid
MSFlexGrid1.FixedCols = 0 [ô]Determinal Quantas Colunas Fixas Vai Ter o Flexgrid
MSFlexGrid1.FixedRows = 1 [ô]Determinal Quantas Linhas Fixas Vai Ter o Flexgrid
With MSFlexGrid1
.TextMatrix(0, 0) = [Ô]Marcar[Ô]
.TextMatrix(0, 1) = [Ô]Código[Ô]
.TextMatrix(0, 2) = [Ô]Andamento[Ô]
.TextMatrix(0, 3) = [Ô]Data Ação[Ô]
.ColAlignment(0) = 3
.ColAlignment(1) = 3
.ColAlignment(2) = 2
.ColAlignment(3) = 2
.ColWidth(0) = 800
.ColWidth(1) = 900
.ColWidth(2) = 3520
.ColWidth(3) = 1100
End With
eu tenho um campo maskedbox na tela e coloquei mais estes comandos, será q está faltando algo ???
Private Sub MSFlexGrid1_EnterCell()
DTX_DT_JUIZO.Visible = True
DTX_DT_JUIZO.Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop
DTX_DT_JUIZO.Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft
DTX_DT_JUIZO.Width = MSFlexGrid1.CellWidth
DTX_DT_JUIZO = [Ô] / / [Ô]
DTX_DT_JUIZO.SelLength = Len(DTX_DT_JUIZO.Text)
End Sub
form_load:
MSFlexGrid1.Rows = 150 [ô] Determinal Numero de Linhas do Flexgrid
MSFlexGrid1.Cols = 4 [ô] Determinal Numero de Colunas do Flexgrid
MSFlexGrid1.FixedCols = 0 [ô]Determinal Quantas Colunas Fixas Vai Ter o Flexgrid
MSFlexGrid1.FixedRows = 1 [ô]Determinal Quantas Linhas Fixas Vai Ter o Flexgrid
With MSFlexGrid1
.TextMatrix(0, 0) = [Ô]Marcar[Ô]
.TextMatrix(0, 1) = [Ô]Código[Ô]
.TextMatrix(0, 2) = [Ô]Andamento[Ô]
.TextMatrix(0, 3) = [Ô]Data Ação[Ô]
.ColAlignment(0) = 3
.ColAlignment(1) = 3
.ColAlignment(2) = 2
.ColAlignment(3) = 2
.ColWidth(0) = 800
.ColWidth(1) = 900
.ColWidth(2) = 3520
.ColWidth(3) = 1100
End With
Se você usar um MaskEdit como eu indiquei acima, o campo aceita no máximo 10 dÃgitos (incluindo as barras que já estão lá), e as barras permanecem no lugar onde fazem o papel de separar dia, mes e ano.
Não sei o que você está fazendo diferente, mas na minha aplicação as barras permanecem no lugar.
Não sei o que você está fazendo diferente, mas na minha aplicação as barras permanecem no lugar.
Mais fácil postar o Form em um outro projeto funcional pra verificação do pessoal.
Tópico encerrado , respostas não são mais permitidas