Hot Spots no Visual Basic
Que tal transformar uma picture box do VB em um
Hot Spot ? HOT SPOTS ???
Um Hot Spot nada mais é do que uma figura
que possui regiões com eventos distintos para o clique. São
também chamadas de áreas quentes ou hipergráficos.
O recurso é simples : basta criar dentro da picture
box um vetor - array - de labels transparentes. Cada
elemento do vetor terá um clique diferente.
Vamos ao roteiro passo a passo:
-
Inicie um novo projeto no Visual Basic
- o Form1 é criado automaticamente.De a ele o nome de frmprinc.
-
Adicione ao Form1 uma picture box
com um arquivo bitmap(BMP) ou metafile(WMF) de sua preferência.
Vamos usar o arquivo COMPUTER.WMF do diretório VB\METAFILE\BUSINESS.
De o nome a picture de PI_Princ.(Veja Figura).

-
Adicione um label sobre PI_Princ
com as seguintes propriedades:
BackStile = 0 'Transparent
BorderStyle = 1 'Fixe Single
Caption = 'Deixe em branco
Name = LB_Rg
-
Crie um vetor com o controle LB_Rg
com quatro índices.
-
Coloque uma label sobre o teclado,
outra sobre o video, outra sobre o mouse e outra sobre a cpu.
-
Crie uma label na base do formulário
frmprinc com o nome de lab_qual e na sua propriedade Caption
informe: SISTEMA TESTE.
-
Crie uma label no topo do formulário
frmprinc com o nome de lab_nome e na sua propriedade Caption
inform: Clique em uma área para ver o nome do componente.
-
Adice o código seguinte à
label LB_Rg:
Sub LB_Rg_Click (Index
as Integer)
Dim qual as String
Select Case Index
Case 0
qual = "Teclado"
Case 1
qual = "Vídeo"
Case 2
qual = "CPU"
Case 3
qual = "Mouse"
End Select
lab_qual.Caption = " " + qual + " "
End Sub
-
Adicione o seguinte código à
picture PI_Princ:
Sub PI_Princ_Click(
)
LB_status.Caption= " "
End Sub
-
Deixe a borda dos labels visíveis
em tempo de desenho ocultando-as somente em tempo de execução.
Fazemos isso quando o formulário é carregado:
Sub Form_Load
Dim i as String
For i=0 to 3
LB_Rg(i).BorderStyle =
0 'none
next i
End Sub
Pronto acabamos.
Agora salve e teste o seu programa.
Há inumeras aplicações para esta técnica ,basta
você usar a imaginação.
Dica: Para trabalhar com
áreas irregulares combine várias labels até
conseguir a área desejada. Lembre-se que a instrução
Select Case pode conter cláusulas como : Case 1 to 4,7,10
isto nos dá mais flexibilidade.
Ah! se quiser pode usar outros eventos
associados à label; que tal MouseMove ?
Fonte:Revista Fórum
Access
Retorna