Simulazione di un collegamento ipertestuale

Da Gambas-it.org - Wikipedia.

Simulazione in alternativa al codice html

In alternativa all'uso del codice html, con gli oggetti che lo supportano, per realizzare un collegamento ipertestuale, è possibile utilizzare il codice Gambas.

Poniamo, ad esempio, una TextLabel nella quale inseriremo il testo principale. Al di sopra di questa TextLabel porremo una seconda TextLabel, più piccola, contenente la sola parte di testo che dovrà simulare il collegamento ipertestuale:

Public Sub Form_Open()

 With TextLabel1
   .Text = "collegamento_ipertestuale"
   .Foreground = Color.Blue
   .Font.Underline = True
 End With

End

Public Sub TextLabel2_Enter()   ' Non appena si entra nella "TextLabel", l'aspetto del puntatore del mouse muta

 TextLabel1.Mouse = 13

End

Public Sub TextLabel1_MouseDown()   ' Non appena si clicca nella "TextLabel", il testo in essa contenuto diventa rosso

 TextLabel1.Foreground = Color.Red
  
End

Public Sub TextLabel1_MouseUp()   ' Non appena si solleva il tasto del mouse, il colore del testo presente nella "TextLabel" diventa nuovamente blu

 TextLabel1.Foreground = Color.Blue
 
 If Mouse.Left Then
   ' Qui si fa qualcosa....
 Else
   ' Qui si fa qualcosa....
 Endif

End


Rendere attivo il falso collegamento ipertestuale

Nel paragrafo precedente abbiamo visto il codice necessario per agire meramente sull'apetto grafico della simulazione. Ora prenderemo in considerazione la possibilità di rendere attiva quella simulazione; in modo tale che cliccando su di essa si verifichi una funzione, o un evento o altra azione, ma comunque senza variazione di colore del testo dello pseudo-collegamento:

Public Sub Form_Open()

' Poniamo nella "TextEdit" il testo del pseudo-collegamento ipertestuale, lasciando alla fine dello pseudo-collegamento uno spazio, al fine di interrompere la sottlineatura appartenente allo pseudo-collegamento nel caso si desideri continuare la scrittura:
 TextEdit1.RichText = "<FONT color=blue><U>simulazione collegamento ipertestuale</u></font> "

End 

Public Sub TextEdit1_Enter()

' Non appena si entra nella "TextEdit", l'aspetto del puntatore del mouse muta:
 TextEdit1.Mouse = 13

End 
 
Public Sub TextEdit1_Cursor()

' Se il cursore è posto, con il click del mouse, entro il testo del collegamento ipertestuale (e quindi significa che si è cliccato sul collegamento medesimo), allora, per esempio, apre un file:
 If TextEdit1.Pos < String.Len("simulazione collegamento ipertestuale") Then Desktop.Open("percorso_del_file_da_aprire")

End