Newsgroup: it.comp.appl.access
Titolo: come usare ControlTipText  e/o StatusBarText

salve
 
potete darmi delle dritte su come utilizzare le 2 proprietà
 
Testo descrizione controllo --> ControlTipText (Testo descrizione controllo)
Testo barra stato           --> StatusBarText (Testo barra stato)
 
e' possibile far si che passando su una casella di testo, label o commandButton
 
si possa visualizzare qualcosa?
 
ho provato a mettere qualcosa nelle 2 proprietà da visualizzazione struttura, ma non capita nulla
 
in che modo?
 
GRAZIE

Si ovviamente puoi valorizzare entrambe le proprietà ma devi essere un Po "fine" perché usando l'evento mousemove del/dei controlli se ad ogni scatenarsi dell'evento vai a scrivere il testo otterrai un fastidioso Flickering...
Devi scrivere un codice leggermente intelligente in modo da essere funzionale per tutti i controlli su cui farlo agire e, che vada A sbrascrivere le proprietà solo se il valore è diverso dal precedente.
Sembra un a cosa complicata ma sono 3 righe solo che devono fare quello che ti ho detto.
 
@Alex

Grazie prima di tutto
Ma da visualizzazione struttura della maschera ho valorizzato la proprietà ma poi cosa devo scrivere sull'evento mouse?
Dove vedo il valore ? Barra di stato o dove?
Grazie

Il ControlTiptext appare dopo qualche secondo che il mouse staziona sul controllo.
La statusbartext appare nella status bar di Access sempre al passaggio... ma entrambe le proprietà devono essere valorizzate...
 
Private sTextTip As Strong
Private cActive As Access.Control
 
Function SetTip(ctl as Access.Control, value as string)
  If Not cActive Is Nothing then 
     It cActive Is Ctl theb 
       If value<>sTextTip THEN
          Ctl.Controltiptext=Value
          sTextTip=value
       End of
     Else
       sTextTip=value
       Set cActive=col
       Ctl.Controltiptext=value
     End of
  Else
     sTextTip=value
     Set cActive=col
     Ctl.Controltiptext=value
  End if
End sub
 
La chiami su evento MouseMove di qualsiasi controllo passando l'oggetto ed il valore...
 
Private sub NomeTxtbox_MouseMove(....)
   Call SetTip(Me!NometxtBox,"Pippo")
End sub
 
Se inserisci anche la modifica della status bar fara anche quello...
 
Attendi qualche secondo ed apparirà il Tooltip.
 
@Alex


GRAZIE
sto provando il codice che ahi passato
 
ma 
 
forse ci sono alcuni errori di battitura
 
potresti solo chiarirmi 
 
--> Set cActive = ctl  <--
perche' per ora non riesco a far comparire il testo
 
quello corretto penso sia questo caso quando sono sul Command7 --> PIPPO
 
Function SetTip(ctl As Access.Control, value As String)
  Dim sTextTip As String
  Dim cActive As Access.Control
 
  If Not cActive Is Nothing Then
     If cActive Is ctl Then
       If value <> sTextTip Then
          ctl.ControlTipText = value
          sTextTip = value
       End If
     Else
       sTextTip = value
       Set cActive = ctl
       ctl.ControlTipText = value
     End If
  Else
     sTextTip = value
     Set cActive = ctl
     ctl.ControlTipText = value
  End If
End Function
 
 
Private Sub Comando7_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Call SetTip(Me!Comando7, "Pippo")
End Sub

L'ho scritta da SmartPhone... ci sono una valanga di errori di scrittura...
 
Questa l'ho provata e funziona:
 
Option Compare Database
Option Explicit
 
Private sTextTip As String
Private cActive As Access.Control
 
Function SetTip(ctl As Access.Control, value As String)
  If Not cActive Is Nothing Then
     If cActive Is ctl Then
       If value <> sTextTip Then
          ctl.ControlTipText = value
          ctl.StatusBarText = value
          sTextTip = value
       End If
     Else
       sTextTip = value
       Set cActive = ctl
       ctl.ControlTipText = value
       ctl.StatusBarText = value
     End If
  Else
     sTextTip = value
     Set cActive = ctl
     ctl.ControlTipText = value
     ctl.StatusBarText = value
  End If
End Function
 
Private Sub Elenco6_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Call SetTip(Me!Elenco6, "Pippo")
End Sub
 
 
Serve però capire cosa ti aspetti..., ad esempio la proprietà [StatusBarText] viene impostata su MOUSEMOVE, ma viene visualizzata nella STATUSBAS solo al FOCUS del Controllo... e non su MOVE...
 
Il ToolTip invece è un poco artistico... con A2016, esce quando gli pare a lui... ma funziona su Move.
 
La questione del ToolTip, effettivamente è tale che personalmente ho una Form  dedicata che realizza il ToolTip...
 
Questo demo è un po datato, ma se vuoi guardarci:
http://mirror.masterdrive.it/alessandrobaraldi/DettaglioFaq.asp%3FIdFAQ=240.html
 
 
@Alex


vorrei pero' fare una cosa leggermene differente
 
in form_load
carico da una tabella i valori per ogni controllo che mi interessa una tooltips
 
....
do 
 
          ctl.ControlTipText = rs!calcoloDesc
 
loop
 
una volta popolato come faccio a far vedere il valore?
il massimo sarebbe sulla tooltip e statusbar
 
GRAZIE


il problema e' che ho una serie di controlli all'interno di una frame e quindi noto che sono su frame_mousemove e non sul txt_mousemove


Non comprendo nella realtà tutto questo tuo fervore/problema nella questione.
 
Le proprietà in questione [ControltipText] e [StatusBarText] si impostano da VBA ma sono attivate dal Sistema...
 
La [ControltipText] nella guida dice:
   You can use the ControlTipText property to specify the text that appears 
   in a ScreenTip when you hold the mouse pointer over a control.
 
La [StatusBarText] nella guida dice:
   You can use the StatusBarText property to specify the text that is displayed
   in the status bar when a control is selected
 
Chiarissimo mi pare... tu non hai modo di FORZARE o OPERARE sugli Eventi, ma solo sul Valore della property...!
 
Quando sei un una Struttura a Schede,le cose si possono complicare, sappiamo che la Struttura a Schede introduce un rapporto di DIPENDENZA/NON DIPENDENZA con i Controlli entrocontenuti... che alcune volte complica le cose, se tu provassi a modificare le proprietà DIMENSIONALI degli oggetti contenuti ti renderesti conto del problema...
Queste "anomalie" sussistono alcune volte anche con il controllo OptionGroup...
 
@Alex


GRAZIE
 
col tooltip in effetti ora funziona mentre per lo statusbar definito da codice per i veri controlli 
 
perdonami ma come fare


Quale sarebbe il dubbio...?
Chiedo perché su fa allo stesso identico modo...
 
Nel ciclo precedente scrivi nella proprietà Statusbartext la stessa cosa che scrivi nel Tooltip....
Poi l'importante è capire che finché non attivi il controllo spostando il focus... Non vedi nulla...
 
Tutto chiaro...? Cosa ti turba...?
@Alex

Grazie
Ho popolato singolarmente o con la procedura che hai inviato sia tooltip che status bar e andando col mouse sulle controlli che hanno il valore tooltip funziona perfettamente mentre statusbar rimane sempre lo stesso
 non capisco dove sto sbagliando


DEVI ATTIVARE IL FOCUS... per la STATUSBAR... come possiamo dirtelo per fartelo capire...??????
CI DEVI CLICCARE DENTRO..!!!!!!!
 
Ma hai letto l'estratto della guida...?
 
@Alex