2009-06-30 8 views
1

J'ai un affichage de texte GTK # avec l'habillage de mot et les barres de défilement activées. Je sais que les barres de défilement horizontales ne seront pas affichées parce que les mots seront à la place.Le texte va-t-il dans GTK # TextView sans barre de défilement

Je veux ajouter du texte mais avant de l'ajouter, je veux savoir si le texte va s'adapter sans avoir besoin d'une barre de défilement verticale.

Je ne veux pas ajouter le texte si cela signifie que la vue de texte nécessitera une barre de défilement verticale.

Comment faire?

Répondre

3

Je ne connais aucun moyen de mesurer le contenu d'un TextView sans réellement mettre à jour le texte. Il s'agit d'un widget de mise en page complexe qui peut manipuler du texte, des images, etc. L'insertion de texte peut modifier la mise en page de manière substantielle. Vous ne pouvez donc pas prédire comment un nouveau texte modifiera la taille sans modifier le tampon et recalculer sa mise en page .

Il serait plus facile de suggérer une solution si vous expliquez pourquoi vous avez besoin de cette fonctionnalité.

Par exemple, si vous avez simplement besoin de savoir après l'ajout de texte si lorsque la vue des barres de défilement, vous pouvez utiliser la barre de défilement réglages - le TextView est un widget « scrollable », à savoir son layoutspace est virtualisé, et manipulé par un parent ScrolledWindow via les objets "Ajustement" qui contiennent la plage, la taille de la page, la taille de l'incrément de défilement, etc. Vous pouvez détecter quand ils changent en les accédant depuis la ScrolledWindow et en s'abonnant à leurs événements de changement.

+0

Je ne veux pas ajouter le texte si cela signifie que la vue de texte nécessitera une barre de défilement verticale. – trampster

+0

Je suppose que vous pourriez l'ajouter, puis l'enlever si cela a causé une barre de défilement. –

+0

Est-il possible de le faire sans provoquer de scintillement. Puis-je désactiver le dessin sur l'écran pour que l'utilisateur ne voie pas apparaître la barre de défilement, puis disparaître. – trampster

Questions connexes