2010-05-02 6 views
2

J'affiche du texte HTML dans une application Adobe AIR que je ne veux pas que l'utilisateur puisse couper et coller. Comment faire pour que le contrôle HTML interdise la mise en évidence du HTML sans désactiver les barres de défilement. mouseChildren = false fonctionne mais désactive les barres de défilement, ce qui est inacceptable. En ce moment j'ai:Rendre le contrôle HTML Flex non sélectionnable

 <mx:HTML location="http://dexter/preview.html" width="100%" height="100%" id="PreviewArea" x="0" y="0" tabEnabled="false" tabChildren="false" focusEnabled="false" focusRect="null"/> 

Mais ça ne fonctionne pas correctement non plus. J'ai également essayé de superposer un contrôle de texte transparent désactivé sur le haut du composant HTML, mais l'utilisateur peut encore tabuler au format HTML et utiliser les contrôles du clavier pour copier le texte dans le presse-papiers.

Des indices?

Répondre

1

Vous devrez probablement étendre le composant HTML. Rendez les barres de défilement, le cas échéant, utilisables, mais appliquez set mouseEnabled, mouseFocusEnabled, mouseChildren et focusEnabled à false sur l'affichage interne.

Vous pouvez également inclure le composant HTML dans un canevas. Définissez le composant HTML sur sa hauteur mesurée et sa largeur mesurée. Définissez le composant HTML comme étant 'inutilisable' avec les propriétés ci-dessus, mais rendez le canevas utilisable.

Le composant HTML n'affiche-t-il pas le HTML en mode rendu; pas de texte HTML? Si vous affichez du texte HTML, vous pouvez utiliser TextArea et définir editable et selectable sur false.

Questions connexes