CONTROLE UPDOWN?
Mais uma dúvida.
Como faço para controlar quatro textbox com apenas um updown?
Estava fazendo assim, mas gera erro!
'Está função é para 2 texbox de minuto
Private Sub txtTm1_GotFocus(Index As Integer)
UpDownT1.Enabled = True
UpDownT1.BuddyControl = txtTm1(Index)
End Sub
'Está outra é para 2 textbox de hora
Private Sub txtTh1_GotFocus(Index As Integer)
'UpDownT1.Enabled = True
'UpDownT1.BuddyControl = txtTh1(Index)
End Sub
Toda vez que o updownT1.buddycontrol recebe outro controle para poder controlar, o controle updownT1 sai do lugar, ele vai para a posição ao lado de cada textbox.
Não tem como apenas um controle updown controlar 4 textbox?
Alguém pode me ajudar?
Como faço para controlar quatro textbox com apenas um updown?
Estava fazendo assim, mas gera erro!
'Está função é para 2 texbox de minuto
Private Sub txtTm1_GotFocus(Index As Integer)
UpDownT1.Enabled = True
UpDownT1.BuddyControl = txtTm1(Index)
End Sub
'Está outra é para 2 textbox de hora
Private Sub txtTh1_GotFocus(Index As Integer)
'UpDownT1.Enabled = True
'UpDownT1.BuddyControl = txtTh1(Index)
End Sub
Toda vez que o updownT1.buddycontrol recebe outro controle para poder controlar, o controle updownT1 sai do lugar, ele vai para a posição ao lado de cada textbox.
Não tem como apenas um controle updown controlar 4 textbox?
Alguém pode me ajudar?
Por favor colegas: não vão me bater, e se bater, batam devagar.
O que vou mostrar embaixo não é nem um pouco elegante, mas funciona !!!!!:
Tamanini.
O controle Updown não só "gruda" no textbox, como também torna o Width do textbox igual ao seu. Coisas da Microsoft. Salve as posiçoes e o widht antes e depois restaure:
Dim pos1 As Integer
Dim pos2 As Integer
Dim pos3 As Integer
Dim pos4 As Integer
Dim pos5 As Integer
Private Sub Form_Load()
pos1 = Text1.Width
pos2 = Text2.Width
pos3 = Text3.Width
pos4 = Text4.Width
pos5 = UpDown1.Left
End Sub
Private Sub Text1_GotFocus()
UpDown1.BuddyControl = Text1
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Private Sub Text2_GotFocus()
UpDown1.BuddyControl = Text2
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Private Sub Text3_GotFocus()
UpDown1.BuddyControl = Text3
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Private Sub Text4_GotFocus()
UpDown1.BuddyControl = Text4
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
O que vou mostrar embaixo não é nem um pouco elegante, mas funciona !!!!!:
Tamanini.
O controle Updown não só "gruda" no textbox, como também torna o Width do textbox igual ao seu. Coisas da Microsoft. Salve as posiçoes e o widht antes e depois restaure:
Dim pos1 As Integer
Dim pos2 As Integer
Dim pos3 As Integer
Dim pos4 As Integer
Dim pos5 As Integer
Private Sub Form_Load()
pos1 = Text1.Width
pos2 = Text2.Width
pos3 = Text3.Width
pos4 = Text4.Width
pos5 = UpDown1.Left
End Sub
Private Sub Text1_GotFocus()
UpDown1.BuddyControl = Text1
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Private Sub Text2_GotFocus()
UpDown1.BuddyControl = Text2
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Private Sub Text3_GotFocus()
UpDown1.BuddyControl = Text3
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Private Sub Text4_GotFocus()
UpDown1.BuddyControl = Text4
Text1.Width = pos1
Text2.Width = pos2
Text3.Width = pos3
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Tamanini:
Ainda não fiz aquela OCX por absoluta falta de tempo. Vou ver se dá pra fazer no fim de semana.
Ainda não fiz aquela OCX por absoluta falta de tempo. Vou ver se dá pra fazer no fim de semana.
Simplificando um pouquinho:
Dim pos1 As Integer
Dim pos2 As Integer
Dim pos3 As Integer
Dim pos4 As Integer
Dim pos5 As Integer
Private Sub Form_Load()
pos1 = Text1.Width
pos2 = Text2.Width
pos3 = Text3.Width
pos4 = Text4.Width
pos5 = UpDown1.Left
End Sub
Private Sub Text1_GotFocus()
UpDown1.BuddyControl = Text1
Text1.Width = pos1
pDown1.Left = pos5
End Sub
Private Sub Text2_GotFocus()
UpDown1.BuddyControl = Text2
Text2.Width = pos2
UpDown1.Left = pos5
End Sub
Private Sub Text3_GotFocus()
UpDown1.BuddyControl = Text3
Text3.Width = pos3
UpDown1.Left = pos5
End Sub
Private Sub Text4_GotFocus()
UpDown1.BuddyControl = Text4
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Dim pos1 As Integer
Dim pos2 As Integer
Dim pos3 As Integer
Dim pos4 As Integer
Dim pos5 As Integer
Private Sub Form_Load()
pos1 = Text1.Width
pos2 = Text2.Width
pos3 = Text3.Width
pos4 = Text4.Width
pos5 = UpDown1.Left
End Sub
Private Sub Text1_GotFocus()
UpDown1.BuddyControl = Text1
Text1.Width = pos1
pDown1.Left = pos5
End Sub
Private Sub Text2_GotFocus()
UpDown1.BuddyControl = Text2
Text2.Width = pos2
UpDown1.Left = pos5
End Sub
Private Sub Text3_GotFocus()
UpDown1.BuddyControl = Text3
Text3.Width = pos3
UpDown1.Left = pos5
End Sub
Private Sub Text4_GotFocus()
UpDown1.BuddyControl = Text4
Text4.Width = pos4
UpDown1.Left = pos5
End Sub
Tamanini.
Comigo funcionou beleza. Estou mandando para vc. os fontes em que eu testei, mas que na verdade nada mais são que os códigos postados, com um form com 4 textbox (text1, text2, text3, text4 e um updown (updown1).
Sim. Do jeito que vc mencionou:
textbox1.text = updown1.value
ou
updown1.value = textbox1.text
com certeza vai funcionar, mas vc terá que testar sempre os valores digitados no textbox, para saber se são numéricos, nulos, estão dentro do range (Min, Max), etc.
Comigo funcionou beleza. Estou mandando para vc. os fontes em que eu testei, mas que na verdade nada mais são que os códigos postados, com um form com 4 textbox (text1, text2, text3, text4 e um updown (updown1).
Sim. Do jeito que vc mencionou:
textbox1.text = updown1.value
ou
updown1.value = textbox1.text
com certeza vai funcionar, mas vc terá que testar sempre os valores digitados no textbox, para saber se são numéricos, nulos, estão dentro do range (Min, Max), etc.
Tamanini:
Já enviei. Use a versão não simplificada em que ele restaura o Width de "todos" os TextBox.
Já enviei. Use a versão não simplificada em que ele restaura o Width de "todos" os TextBox.
Tamanini:
O format é no Textbox:
Private Sub Text1_Change()
Text1 = Format(Text1, "00")
End Sub
Faça isto em todas textbox.
O BuddyControl faz exatamente o que vc está querendo fazer "na mão". Quando vc altera o textbox altera também o updown1.Value e Vice Versa.
O format é no Textbox:
Private Sub Text1_Change()
Text1 = Format(Text1, "00")
End Sub
Faça isto em todas textbox.
O BuddyControl faz exatamente o que vc está querendo fazer "na mão". Quando vc altera o textbox altera também o updown1.Value e Vice Versa.
Tamanini.
O correto é:
UpDownT1.BuddyProperty = "Text" - entre aspas.
Mas não precisa fazer por código. Coloque na página de propriedades.
O correto é:
UpDownT1.BuddyProperty = "Text" - entre aspas.
Mas não precisa fazer por código. Coloque na página de propriedades.
Sim. Faça conforme o exemplo. aqui funcionou beleza. os controles não se mexem 1 mm.
Tópico encerrado , respostas não são mais permitidas