DESACTIVER SOURIS RICHEDIT API WIN32 C [Résolu]

lectpe 163 Messages postés lundi 12 novembre 2007Date d'inscription 17 juillet 2010 Dernière intervention - 18 juin 2009 à 20:11 - Dernière réponse : lectpe 163 Messages postés lundi 12 novembre 2007Date d'inscription 17 juillet 2010 Dernière intervention
- 18 juin 2009 à 20:59
Bonjour,

je travaille avec l'API WIN32 en C et je voudrais savoir s'il existe une fonction pour désactiver la souris au dessus d'un richedit.

Je m'explique :

J'ai deux richedit,
l'un dans lequel on peut écrire et l'autre dans lequel on ne peut pas.

En fait, c'est un logiciel de math :
quand on entre une fonction dans le champ dans lequel on peut écrire (par exemple une fonction pour calculer l'écart-type d'une série de valeurs) elle est calculée après l'appui sur la touche Entrée et le résultat est affiché dans le second richedit possédant le flag READONLY.

Les résultats s'affichent au fur-et-à-mesure dans ce dernier champ les uns à la suite des autres.

J'utilise les messages EM_SETSEL et EM_REPLACESEL, mais lorsque je clique dans le champ dans lequel les résultats sont affichés, l'ajout de texte se fait à l'endroit où l'utilisateur a cliqué avec la souris.

Voilà mon problème.

La question est dans la première phrase.

Si vous savez comment faire, ça  m'arrangerait bien.

Merci d'avance.

Cordialement, Grégory.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_TeniX 118 Messages postés mercredi 24 décembre 2003Date d'inscription 11 décembre 2011 Dernière intervention - 18 juin 2009 à 20:54
3
Merci
Désactivé la souris je sais pas mais ,tu peux toujours ajouté a ton rich en ES_READONLY et placé ton curseur à la fin à chaque ajout de text comme ceci:
Après ton : SendMessage(hwnd,EM_REPLACESEL.............
int L = SendMessage(hwnd,WM_GETTEXTLENGTH,0,0);
SendMessage(hwnd,EM_SETSEL,L,L);

Ciao

Merci cs_TeniX 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_TeniX
lectpe 163 Messages postés lundi 12 novembre 2007Date d'inscription 17 juillet 2010 Dernière intervention - 18 juin 2009 à 20:59
0
Merci
Merci beaucoup.

En fait, j'ai rajouté :

         int L=SendMessage(hRichView, WM_GETTEXTLENGTH, 0, 0);
         SendMessage(hRichView, EM_SETSEL, L, L);

avant et après mon EM_REPLACESEL et ça marche nickel.
Commenter la réponse de lectpe

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.