cs_TabouJr
Messages postés8Date d'inscriptiondimanche 17 novembre 2002StatutMembreDernière intervention30 novembre 2002
-
17 nov. 2002 à 19:09
cs_pepper
Messages postés2Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 mars 2004
-
27 mars 2004 à 16:04
Bonjour !
J'ai un petit souci : j'aimerais écrire une procédure qui sélectionne le paragraphe (retours chariot limitrophes exclus) contenant la position du curseur. Mais je ne vois absolument pas comment faire...
Si kk'un avait une 'tite idée ou un'tit lien pour moi, ça serait sympa. Merci d'avance.
cs_TabouJr
Messages postés8Date d'inscriptiondimanche 17 novembre 2002StatutMembreDernière intervention30 novembre 2002 18 nov. 2002 à 23:59
En fait, je veux que les attributs de formattage de texte (gras, italique, taille, etc...) ne soit applicables que par paragraphes (c'est une option pour un éditeur HTML). Donc forcément, quand l'option est choisie et qu'une demande de mise en forme s'applique, il faut qu'elle s'applique au paragraphe, même si rien n'est sélectionné (utilisation de la position du curseur) ou si une partie seulement du paragraphe est sélectionné. Il faut donc que la sélection soit faite dans le traitement des données, et pas par l'utilisateur.
Pour l'instant, j'ai écrit une procédure SelectRc2Rc(RichEdit : TRichEdit) qui scanne depuis le SelStart en amont puis en aval jusqu'à trouver #13 et #10 qui se suivent. Ca me donne les limites de sélection. Ca marche, mais c'est très long, et je cherche à optimiser tout cela...
cs_TabouJr
Messages postés8Date d'inscriptiondimanche 17 novembre 2002StatutMembreDernière intervention30 novembre 2002 22 nov. 2002 à 02:42
J'ai trouvé !
Je vous copie ci-dessous ma petite procédure :
--------
procedure SelectRc2Rc(RichEdit: TRichEdit);
var y,ds,fs: integer;
begin
y:=SendMessage(RichEdit.Handle,EM_LineFromChar,RichEdit.SelStart,0);
ds:=SendMessage(RichEdit.Handle,EM_LineIndex,y,0);
fs:=SendMessage(RichEdit.Handle,EM_LineIndex,y+1,0);
cs_pepper
Messages postés2Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 mars 2004 27 mars 2004 à 16:04
salut,
je viens d'essayer ton script, il marche bien sauf que la sélection ne se fait que sur UNE ligne : celle où se trouve le curseur. Je n'arrive pas à sélectionner le paragraphe entier.
vous savez comment faire?
merci