Autore Topic: [RISOLTO] Tooltip dinamico  (Letto 2781 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] Tooltip dinamico
« il: 13 Novembre 2012, 21:46:15 »
Buona sera a tutti,
mi scuso per l'oggetto un po astruso, ma non sapevo come titolare questa discussione, spero di spiegarmi.
Quello che voglio fare è avere al passaggio del mouse un "effetto" come la proprietà Tooltip degli oggetti, ma
senza predeterminare dalle proprietà ciò che andrà visualizzato, nel senso che dovrebbe visualizzare ciò che è
contenuto nell'oggetto, che può essere una TextBox, una Label, una TextArea o qualsiasi oggetto adatto ad ottenere
l'informazione voluta. Sicuramente l'immagine che allego vi farà capire ciò che voglio ottenere.

« Ultima modifica: 13 Novembre 2012, 22:57:23 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Tooltip dinamico
« Risposta #1 il: 13 Novembre 2012, 22:11:30 »
A me sembra  :-\ che tu voglia far apparire in una sorta di Tooltip il testo di volta in volta contenuto in un oggetto.

Se non ho errato, allora io penso che tu possa utilizzare la proprietà .tooltip medesima dell'oggetto in questione.
Poniamo di avere una TextLabel:
Codice: gambas [Seleziona]

Public Sub Form_Open()

' Non appena il mouse entra nella "TextLabel",
' il "Tooltip" della "TextLabel" assume il testo contenuto nella "TextLabel" medesima:
   TextLabel1.Tooltip = TextLabel1.Text

End


...o no ?  :-X
« Ultima modifica: 18 Febbraio 2013, 12:47:23 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Tooltip dinamico
« Risposta #2 il: 13 Novembre 2012, 22:56:52 »
Grazie vuott per la tempestività nel rispondere, era quello che volevo.  :2birre:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #3 il: 14 Novembre 2012, 13:08:34 »
Ricorda che anche la proprietà .Tooltip supporta diversi comandi del protocollo html.
Potresti, infatti, ottenere - per esempio - il testo del .Tooltip con il colore da te prescelto, ma addirittura contenere una immagine, inserire una tabella colorata, raccogliere direttamente i risultati di operazioni matematiche o mostrare al proprio interno il Tooltip - dopo che quest'ultimo è stato fatto apparire - di un altro oggetto:
Codice: gambas [Seleziona]

Public Sub TextLabel1_Enter()

   TextLabel1.Tooltip = "<TABLE border=2  bgcolor=#FFA400>" &
   "<TR><TD><IMG src=/percorso/della/mia/immagine.xxx></td>" &
   "&lt;TD  bgcolor=#FFFF00 >TextLabel1.Text< /td>&lt;/tr>" &
   "&lt;TR>&lt;TD>" & Str(5 + 1) & "&lt;/td>&lt;TD>" & TextArea1.Tooltip & "&lt;/td>" &
   "&lt;/tr>&lt;/table>"

End
« Ultima modifica: 30 Luglio 2014, 11:03:23 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline El Berto

  • Grande Gambero
  • ***
  • Post: 148
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #4 il: 18 Febbraio 2013, 12:30:58 »
Ho provato a cambiare il testo del tooltip in base al contenuto di una cella della GridView: il tooltip è inizializzato vuoto, poi faccio doppio click su una cella e così imposto il contenuto della tooltip.
Allo stesso tempo abilito un timer: quando scatta il timer (dopo 5 secondi) voglio far sparire il tooltip, quindi mettro GridView1.tooltip = "".
Ma non succede niente...

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #5 il: 18 Febbraio 2013, 12:58:56 »
Ho provato a cambiare il testo del tooltip in base al contenuto di una cella della GridView: il tooltip è inizializzato vuoto, poi faccio doppio click su una cella e così imposto il contenuto della tooltip.
Allo stesso tempo abilito un timer: quando scatta il timer (dopo 5 secondi) voglio far sparire il tooltip, quindi mettro GridView1.tooltip = "".
Ma non succede niente...

Non so se ho interpretato bene il tuo problema. Prova questo:
Codice: gambas [Seleziona]

Private a As Byte

Public Sub Form_Open()

With GridView1
  .Rows.Count = 2
  .Columns.Count = 2
End With

  GridView1[0, 0].Text = "alibaba"
  GridView1.Tooltip = GridView1[0, 0].Text
 
  With Timer1
    .delay = 1000
    .Start
  End With

End

Public Sub Timer1_Timer()
  
  Inc a
  
  If a = 4 Then GridView1.Tooltip = " "
  
End

Dopo che il programma si è aperto, entro con il puntatore del mouse nella GridView, e così appare il ToolTip con la scritta presente nella cella 0,0 . Dopo 4 secondi il ToolTip perde la scritta e si riduce in lunghezza, però non sparisce.
Ovviamente la lunghezza del ToolTip può essere gestita inserendo vari spazi.

Ho provato a far sparire completamente il ToolTip in anticipo, come mi sembra volevi effettivamente tu, eliminando anche l'unico spazio che avevo messo in questa riga qua:  If a = 4 Then GridView1.Tooltip = " "
ed ho posto 2 nell' IF anziché 4.
Pertanto, la nuova riga è diventata così:
 If a = 2 Then GridView1.Tooltip = ""
A me è sparito con anticipo regolarmente. Ed infatti, se riduco ulteriormente il valore a 1, il ToolTip non riesce neppure ad apparire.
« Ultima modifica: 18 Febbraio 2013, 19:46:54 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline El Berto

  • Grande Gambero
  • ***
  • Post: 148
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #6 il: 18 Febbraio 2013, 14:32:21 »
Niente da fare: correttamente riesco a cambiare il testo del tooltip, ma anche se metto il testo "" non sparisce.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #7 il: 18 Febbraio 2013, 15:37:55 »
Niente da fare: correttamente riesco a cambiare il testo del tooltip, ma anche se metto il testo "" non sparisce.
Non essendo questione di codice, poiché a me funziona, suppongo che si tratti di un problema di livello più basso   :-\
« Ultima modifica: 18 Febbraio 2013, 15:55:55 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline El Berto

  • Grande Gambero
  • ***
  • Post: 148
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #8 il: 18 Febbraio 2013, 15:50:22 »
Ma pork! In Gambas3 invece funziona correttamente, eppure ho abilitato gli stessi moduli....

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #9 il: 18 Febbraio 2013, 15:56:39 »
Ma pork! In Gambas3 invece funziona correttamente,

Ma infatti io ho fatto il test con Gambas 3.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline El Berto

  • Grande Gambero
  • ***
  • Post: 148
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #10 il: 10 Gennaio 2014, 12:39:59 »
Se clicco con il mouse su di un oggetto, il tooltip relativo sparisce.
C'è un modo per cambiare il ritardo di comparizione del tooltip, oppure di forzare la sua comparsa?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.723
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: [RISOLTO] Tooltip dinamico
« Risposta #11 il: 10 Gennaio 2014, 16:19:13 »
Sono riuscito ad ottenere quell'effetto con la funzione Sleep.

Esempio:
Codice: gambas [Seleziona]
Public Sub Button1_Enter()
  
   Sleep 5
  
End


Ma purtroppo è bloccante, e quindi del tutto inadatta.


Se vuoi, dunque, ottenere quell'effetto desiderato, penso che dovrai optare per l'uso dell'oggetto Window.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »