Visible usando ComboBox

Bom dia

Gostaria de saber como faço para de acordo eu escolher o número na ComboBox o objeto não fica mais invisível.

atttela%20visible

@Araujo, bom dia.

Tem duas formas de fazer isso:

  • Por associações:
    Associar na propriedade Visible do objeto Retângulo o Value do objeto ComboBox e comparar o valor.

Exemplo:

Dessa forma, ao comparar a propriedade Value ao valor atribuído, irá retornar um valor booleano True/False que passará à propriedade Visible do objeto.

  • Por scripts:
    No evento Change do objeto ComboBox, pode desenvolver um script com SELECT CASE ou IF que, dependendo do valor escolhido, passe para visível o objeto de tela escolhido.

Exemplo:
Supondo que temos 5 objetos Retângulo na tela.

No evento OnStartRunning:

Sub ComboBox1_OnStartRunning()
Clear()
For i = 1 to 5
	AddItem i
Next
End Sub

No evento Change:

Sub ComboBox1_Change()
Select Case Value
Case 1
	visibleRetangulo 1, true 
	visibleRetangulo 2, false 
	visibleRetangulo 3, false 
	visibleRetangulo 4, false 
	visibleRetangulo 5, false 
Case 2
	visibleRetangulo 2, true 
	visibleRetangulo 1, false 
	visibleRetangulo 3, false 
	visibleRetangulo 4, false 
	visibleRetangulo 5, false 
Case 3
	visibleRetangulo 3, true 
	visibleRetangulo 2, false 
	visibleRetangulo 1, false 
	visibleRetangulo 4, false 
	visibleRetangulo 5, false 
Case 4
	visibleRetangulo 4, true 
	visibleRetangulo 2, false 
	visibleRetangulo 3, false 
	visibleRetangulo 1, false 
	visibleRetangulo 5, false 
Case 5
	visibleRetangulo 5, true 
	visibleRetangulo 2, false 
	visibleRetangulo 3, false 
	visibleRetangulo 4, false 
	visibleRetangulo 1, false 
End Select
	
End Sub	

Function visibleRetangulo(n, status)
	Screen.Item(CStr("Retangulo"&n)).Visible = status
End Function

Sub Vazio()
End Sub

Sds.

EDIT 1: Melhorando o script do evento Change:

Sub ComboBox1_Change()

For i = 1 to 5
	If i = CInt(Value) Then
		visibleRetangulo i, true
	Else
		visibleRetangulo i, false 
	End If
Next

End Sub	

Function visibleRetangulo(n, status)
	Screen.Item(CStr("Retangulo"&n)).Visible = status
End Function

Sub Vazio()
End Sub
1 Like

Agradeço pela atenção e ajuda

Agora como eu faria pra usar duas ComboBox ?
Na primeira eu escolheria um valor e ficaria visível e na segunda escolheria outro valor e ficaria visível também , assim mostrando os dois que eu escolhi e quando estiver em zero não mostra nada .

att

@Araujo, neste caso o melhor é utilizar associações:

Sds.

Agradeço pela atenção

att

Bom Dia

Então estava querendo fazer da seguinte maneira, no ComboBox nos 5 valores cada um seria uma memoria interna assim quando eu selecionar apareceria o objeto que selecionei para fica visível, estou tentado usar a conexão múltipla, só que não estou conseguindo.Teria outra maneira
attt

@Araujo, bom dia.

Não entendi muito bem o que quer fazer… Tentou com o exemplo acima?

Sds.

Tentei e não consegui.

Então como tenho 5 quadrados e 5 ComboBox de acordo eu selecionar o valor tem que fica visível sendo que cada ComboBox vai de 1-5 , estava querendo usar memoria nas ComboBox acho que fica melhor assim ,nos quadrados só preciso endereçar uma valor de memoria e na ComboBox endereço os outros 5 por isso estava querendo usar conexão múltipla .

@Araujo, não tenho certeza se entendi o que precisa, mas criei um exemplo (aqui) para tentar descobrir.

Por favor, verifica se se aplica.

Sds.

Boa tarde

Exatamente isso agora só tenho tenho que agrupar com um uma figura e funcionar da mesma maneira .
Agradeço pela o exemplo e ajuda

Att