Sélection différente richedit EN_SELCHANGE utilisation

[Résolu]
Signaler
Messages postés
162
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2010
-
Messages postés
162
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2010
-
Bonjour à tous.

Dans mon application win32, j'ai un RichEdit et lorsque je me déplace soit avec la souris, soit en tapant une lettre, cela affiche la ligne et la colonne dans la barre de status.

Seulement, quand on veut sélectionner du texte, ça affiche le nombre de colonnes sélectionnées au total.

Je voudrais alors changer à ce moment là le texte affiché.

J'aimerai donc savoir quel est le message ou la notification à utiliser et comment.

J'ai trouvé EN_SELCHANGE sur msdn, mais je ne sais pas comment l'utiliser.

Si vous savez, je vous en remercie d'avance.

Cordialement, Grégory.

2 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Voici un petit exemple à coller dans la procédure de le fenêtre parent du richedit:
    case WM_NOTIFY:
        {
            SELCHANGE* selch=(SELCHANGE*)lParam;
            if(selch->nmhdr.hwndFrom== hEdit && selch->nmhdr.code==EN_SELCHANGE)
            {
                if(selch->seltyp==SEL_TEXT)
                {
                    int debut=selch->chrg.cpMin;
                    int fin=selch->chrg.cpMax;
                }
            }
            return 0;
        }
Je suppose que tu n'as pas oublié d'activer l'envoi des notifications par le richedit à son  parent en utilisant EM_SETEVENTMASK dans un SendMessage() avec ENM_SELCHANGE entre autres comme dernier paramètre.
Messages postés
162
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2010
3
Ah oui, j'avais oublié de mettre EM_SETEVENTMASK...

Ca ne risquait pas de marcher dans le WM_NOTIFY.

Merci encore.