Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    [Resolu][Composants] TRichEdit: Une police pour chaque ligne
    Bonjour a tous !
    Je veux faire un petit programme de chat qui permet d’afficher sur la même « RICHEDIT » un texte de diffèrent , styles , taille , couleurs …etc. autrement dit associer a chaque ligne sa propre police !comment faire ?
    merci

  2. #2
    Membre chevronné
    Il faut utiliser la propriété SelStart pour définir le debut de la sélection (0=premier caractère), SelLength pour définir la longueur de la sélection et SelAttributes->Name pour définir le nom de la police. Par exemple pour mettre en police Arial rouge taille 15 les deux premiers caractères du RichEdit on écrira :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RichEdit1->SelStart=0;
    RichEdit1->SelLength=2;
    RichEdit1->SelAttributes->Name="Arial";
    RichEdit1->SelAttributes->Color=clRed;
    RichEdit1->SelAttributes->Size=15;


    Dans votre cas, il faudra donc calculer le numéro du premier caractère de chaque ligne ainsi que la longueur de la ligne pointée puis y appliquer les paramètres voulus.

    À bientôt
    Gilles

  3. #3
    Membre habitué
    Salut,

    La méthode est bien celle décrite par Gilles Louïse.

    Si tu souhaites un bout de code :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i= 0 ; i < RichEdit1->Lines->Count ; i++) {
    	RichEdit1->SelStart = RichEdit1->Perform(EM_LINEINDEX, i, 0);
    	RichEdit1->SelLength = RichEdit1->Lines->Strings[i].Length();
    	RichEdit1->SelAttributes->Size=2*i+6;
    	}

    Cela t'éviteras peut-être une recherche sur Perform et les EM_messages dans l'aide de la VCL

    Bonne Continuation
    Mathieu

    P.S. Et si c'est bon ... pense au [Resolu], merci
    Développeur confirmé C++, Java, Python, JS.

  4. #4
    Nouveau membre du Club
    re !
    Merci a vous c 'est parfait avec juste une petit manip a ajouter car c dans le cadre d un client de messagerie instantanée ! merci encore
    merci

###raw>template_hook.ano_emploi###