Sto visualizzando un elenco di pulsanti, alcuni dei quali potrebbero essere disabilitati. Devo mostrare un suggerimento sui pulsanti disabilitati con una spiegazione del motivo per cui è disabilitato, ma sembra che non possa disabilitare il pulsante senza disattivare il suggerimento. C'è un modo semplice per aggirare questo?come mostrare un suggerimento su un controllo disabilitato?
risposta
È necessario utilizzare la classe ToolTipManager
per creare e distruggere manualmente i suggerimenti.
Questo articolo dovrebbe darvi tutte le informazioni necessarie per raggiungere questo obiettivo:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf60d65-7ff6.html
Ho considerato l'utilizzo di ToolTipManager nella mia soluzione, ma questo è stato difficile perché il pulsante di accensione non invia eventi del mouse quando è disabilitato, quindi dovrei usare un altro modo di rilevare quando l'utente è sopra il pulsante. La soluzione più semplice che ho trovato era semplicemente creare pulsanti extra invisibili sopra i pulsanti disabilitati e usare il loro comportamento nel tooltip incorporato. Non ideale, lo so. – geo
Se sei corretto, il pulsante Spark non solleva gli eventi del mouse quando disabilitato, nonostante affermi esplicitamente che ciò avviene nella documentazione. Sei in grado di utilizzare un pulsante Halo come alternativa? (a meno che tu non stia facendo un po 'di skinny funky credo) ho sollevato una segnalazione di bug con Adobe sulla documentazione di Spark Button. –
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.managers.ToolTipManager;
import mx.controls.ToolTip;
private var tooltip:ToolTip;
private var p:Point;
private function whyDisable():void
{
//calculate the button position , so that roll over shows the tooltip
p=new Point();
p=localToGlobal(new Point(btn.x,btn.y));
if(btn.enabled==false)
tooltip = ToolTipManager.createToolTip('Button is disabled',p.x+(btn.width/2),p.y-20,'errorTipAbove') as ToolTip;
else
tooltip=ToolTipManager.createToolTip('Button is enabled',p.x+(btn.width/2),p.y-20,'errorTipAbove') as ToolTip;
}
]]>
</mx:Script>
<mx:VBox height="100%" width="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Button id="btn" label="Show Tooltip" buttonDown="trace('ankur')" autoRepeat="true" enabled="true" rollOver="whyDisable();" rollOut="{ToolTipManager.destroyToolTip(tooltip);}"/>
</mx:VBox>
</mx:Application>
Ciao, questa applicazione funziona sul pulsante disattivato, ho usato ToolTipManager per fare questo,
i spero che questo funziona per voi
hanno un tempo gr8
Ankur Sharma
grazie per l'esempio, sfortunatamente sto usando la classe spark.components.Button, che imposta mouseEnabled e mouseChildren su false quando abilitato è impostato su false. Ciò significa che non posso usare eventi di rollover. – geo
Avvolgere il pulsante in un gruppo e applicare invece il suggerimento al gruppo.
<s:Group toolTip="My toolTip">
<s:Button enabled="false"/>
</s:Group>
E 'un po' brutto, ma funziona.
Un modo per eseguire questa operazione è ignorare il getter e il setter abilitati a fare ciò che si desidera. Nel mio caso, volevo comunque che la maggior parte degli eventi del mouse si attivassero, ma non l'evento click.
<?xml version="1.0" encoding="utf-8"?>
<s:Button buttonMode="true" click="handleClick(event)" xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
public var data:Object;
private var _enabled:Boolean = true;
public override function get enabled():Boolean
{
return _enabled;
}
public override function set enabled(value:Boolean):void
{
_enabled = value;
invalidateDisplayList();
dispatchEvent(new Event("enabledChanged"));
invalidateSkinState();
}
protected function handleClick(event:MouseEvent):void
{
if (!_enabled)
{
event.stopPropagation();
}
}
]]>
</fx:Script>
</s:Button>
Poiché gli eventi del mouse ora si attivano, i tooltip funzionano di nuovo.
La scelta migliore per me era mettere un'etichetta vuota intorno e davanti all'elemento. Quindi, se necessario, imposto l'elemento da disabilitare e il tooltip funziona nell'etichetta. In caso contrario, ho inviato l'etichetta indietro. Funziona piuttosto bene.
if (new MainListsAdmin(this.mainApp).temInvestimentoComAqueleTipo(t)) {
deletarGroupInto.setTooltip(new Tooltip("Há investimentos vinculados a Tipo de Investimento.\nDeleção bloqueada."));
this.deletarButton.setDisable(true);
}else{
deletarGroupInto.toBack();
}
- 1. Visualizzazione del suggerimento su un controllo disattivato
- 2. C#: c'è un modo per forzare un suggerimento da mostrare?
- 3. Come mostrare un suggerimento specifico in Visual Studio
- 4. Come avere un controllo condizionale, disabilitato, ... con l'helper html?
- 5. Come visualizzare un suggerimento su un clic del mouse
- 6. Come posso digitare suggerimento su un array?
- 7. È possibile mostrare un suggerimento in un'app per iOS?
- 8. Disabilita il suggerimento "Errore HTML per il controllo di questo file disabilitato" in Netbeans
- 9. Controllo emulatore disabilitato con un dispositivo Android reale
- 10. Come mostrare un suggerimento con valore quando si passa il mouse su un grafico a linee svg usando d3.js?
- 11. Come mostrare un MessageBox con una casella di controllo?
- 12. Come impostare suggerimento per un ListViewSubItem
- 13. Come trovare un indice disabilitato su SQL Server 2008
- 14. Come evitare che il suggerimento di sfarfallio nel controllo personalizzato?
- 15. Come centrare il suggerimento Bootstrap su un SVG?
- 16. Set suggerimento per un pulsante disattivato
- 17. come mostrare un numero intero, non mobile, con suggerimento al passaggio del mouse nel bokeh
- 18. jQuery: controllo dell'attributo disabilitato e aggiunta/rimozione?
- 19. Mostra solo suggerimento WPF su articolo disattivato
- 20. Come posso mostrare le barre di scorrimento su un controllo PictureBox?
- 21. Come posso impedire a ToolStripMenuItem disabilitato di mostrare un bordo sopra il mouse?
- 22. come mostrare il suggerimento quando si passa il mouse?
- 23. Come posso mostrare un suggerimento di sistema più lungo di 63 caratteri?
- 24. Comando di spostamento disabilitato nel controllo sorgente
- 25. Come aggiungere un suggerimento a td in una tabella
- 26. Avvia un servizio Windows disabilitato?
- 27. Come posso aggiungere un suggerimento o suggerimento a un'etichetta in C# Winforms?
- 28. Come inserire un suggerimento in un asp: casella di testo
- 29. Come mostrare correttamente un balloontip?
- 30. Come aggiungere un suggerimento nello spinner in XML
Sto utilizzando la classe spark.components.Button – geo
Hai risolto questo problema? – zinovii