racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 27 juil. 2007 à 18:47
Salut,
Tu peux faire comme ceci en envoyant 4 messages:
// Définir le numéro de ligne à supprimer:
int ligne=2;
// Obtenir l'index du premier caractère de la ligne:
int index1=SendMessage(hwndedit,EM_LINEINDEX,ligne,0);
// Obtenir l'index du premier caractère de la ligne suivante:
int index2=SendMessage(hwndedit,EM_LINEINDEX,ligne+1,0);
// Sélectionner les caractères inclus entre les deux index:
SendMessage(hwndedit,EM_SETSEL,index1,index2);
// Effacer la selection, donc la ligne choisie:
SendMessage(hwndedit,EM_REPLACESEL ,0,(LPARAM)"");
aztcaLISS
Messages postés91Date d'inscriptionsamedi 3 mai 2003StatutMembreDernière intervention25 avril 2008 27 juil. 2007 à 20:04
merci pour vos reponses.
J'ai essayé ton code racpp et ca fonctionne tres bien. Merci.
Et maintenant si je veux inserer une ligne, je suppose qu'il n'y a probablement aucun message ni fonction qui puisse le faire.
J'ai modifier ta fonction racpp pour inserer une nouvelle ligne. Ca semble fonctionner sauf pour le saut de ligne. Je croyais qu'en appelant ma fonction comme ceci: InsertLine(hEdit, 3, "test") j'aurais vu une nouvelle ligne apparaitre. Je vois le "test" apparaitre mais suivit d'un carré et de ce qui avait deja sur la ligne 3. Un retour de chariot est bien le code 13 (0x0D)?
Voici la fonction:
void InsertLine(HWND hEdit,
int iLineNum,
char sText[])
{
int
iTextLen = strlen(sText);
char
* pText =
new
char
[iTextLen+2];
memcpy(pText, sText, iTextLen);
pText[iTextLen] = 0x0D;//Ajouter le retour de chariot.
pText[iTextLen+1] = 0x00;
//Ajouter le caractere de fin de chaine.
int
index = SendMessage(hEdit, EM_LINEINDEX, iLineNum, 0);SendMessage(hEdit, EM_SETSEL, index, index);