RTB CodeEditor

Vu 8977  fois

 

Dans le cadre du developpement de mon projet DotNetCodeGenerator, j'ai eu besoin d'avoir un richtextbox permettant de colorer la syntaxe du code qui y est affichée.
Autant la coloration de la syntaxe lorsque le texte est déjà existant ne pose pas de problème, autant la coloration à la volée est plus délicate.
Voici donc l'aboutissement de quelques heures de travail (et de recherche): Un contrôle qui hérite de RichTextBox et qui permet de colorer votre saisie à la volée. La syntaxe utilisée pour colorer les termes se trouve dans un fichier XML. J'ai fourni un petit exemple avec quelques mots clés SQL dedans. D'ailleurs, ce contrôle pourrait bien être implémenter dans le projet de Fabrice (GUI pour oSql).

 

Fichiers

Version(s)Auteur(s)Description(s)dlls, exe, msiFichiers sources

1.0  ( 15/11/2005)

ld9474 Le fichier XML d'exemple est fourni avec la dll. Pas dans les fichiers sources

 

Créé le  09/11/2005 par  ld9474
Ce projet est lié au(x) projet(s) suivant(s) :
DotNetCodeGenerator

 

Commentaires

Posté le : 15/11/2005 Par : Romelard Fabrice

C'est une bonne idée, encore faut-il savoir comment l'intégrer dans un projet. Il va falloir étudier la chose.
Fabrice

Posté le : 15/11/2005 Par : ld9474

Il s'agit d'un contrôle WinForm donc une fois intégré à la boite à outils, il fonctionne "tout seul" ;)

Posté le : 05/12/2005 Par : 404found

oui ! mais où mettre le fichier XML par exemple ?

Posté le : 05/12/2005 Par : 404found

mais bien sûr il suffisait de chercher un peu !! c'est la propriété KeyWordFile !!
En tout cas, merci pour le code, j'ai cherché à le faire depuis longtemps et j'ai laissé tombé, ça va être un excellent début pour personnaliser mon contrôle !

Posté le : 08/12/2005 Par : 404found

Rebonjour, j'ai remarqué aussi qu'il n'y a pas de retour à la ligne automatique pour ce composant. Faut il modifier une propriété ?
Merci.

Posté le : 14/12/2005 Par : ld9474

Qu'entendez vous par retour autoùatique à la ligne?
Pour faire simple, si vous regardez un peu le code, il s'agit simplement d'un RichTextBox qui colore la syntaxe définie dans un fichier XML. Donc il se comporte comme un RTB standard.

Posté le : 14/06/2006 Par : heavydrinker

Bonjour,

Moi je suis plutot interressé par cette remarque "Autant la coloration de la syntaxe lorsque le texte est déjà existant ne pose pas de problème".
J'ai dans mon projet un richtextbox et je charge à l'interieur un fichier XML ou XSD, je ne veux pas de treeview, cependant je n'arrive pas colorer les balises XML.
Aurais tu une solution ?

Merci d'avance

Posté le : 24/07/2006 Par : ld9474

heavydrinker,
si tu défini les balises dans le fichier keywords cela ne marche t il pas? Si j'ai bonne mémoire, je m'appuie sur des expressions régulières. Au pire en modifiant une ligne ou deux ca ne devrait pas être problématique. As tu essayé?

Si vous souhaitez ajouter un commentaire vous devez être authentifié.

 

 

ASP MAGAZINE  ASP-PHP.NET  C²I  CodePPC  CodeS-SourceS  Dotnet-News.com  Tech Head Brothers 

Dotnet-Project.com© tous droits réservés
Webmaster Aleks. Ont collaboré à l'aboutissement de ce projet :
CodeS-SourceS.com, ASP-PHP.Net, DotNet-FR.org, C2i.fr, Newsletter ASP.NET.