Lorsque nous avons un contrôle RichEdit et que nous lui envoyons un message EM_AUTOURLDETECT
avec WPARAM défini sur TRUE, il affiche bien les URL détectées et envoie les notifications EN_LINK
. Mais il le fait uniquement pour le texte entré dans le contrôle. Je n'ai pas trouvé le moyen de le faire pour le texte qui est chargé dans le contrôle avec SetWindowText
ou EM_STREAMIN
. S'il vous plaît aider! MerciComment autodétecter des URLs dans RichEdit 2.0?
Mise à jour: J'ai créé une application de test à partir de rien et ça marche bien. Je pense que le problème pourrait être que j'ai surclassé le contrôle, c'est-à-dire, créé une nouvelle classe de fenêtre et utilise simplement la procédure de fenêtre de la classe originale. Je vais essayer de sous-classer le contrôle à la place ..
Malheureusement, cela n'a pas fonctionné :(Aussi ce que MSDN dit à propos de EM_SETTEXTMODE: "Le message échoue si le contrôle contient du texte." –
@Alex donc l'extrait de code obtient if (:: SendMessage (handle_to_control, EM_SETTEXTMODE, textmode, 0)! = 0) et ensuite échoue? –
Tout d'abord, il n'a pas atteint EM_SETTEXTMODE car textmode était déjà TM_RICHTEXT, puis j'ai mis le contrôle dans le mode TM_PLAINTEXT manuellement, EM_SETTEXTMODE a quand même échoué. et les paramètres par la suite - n'a pas aidé non plus: SETTEXTMODE réussi, mais aucun lien détecté (( –