youpla51
Messages postés7Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention30 mars 2004
-
11 mars 2004 à 15:08
assemassem2
Messages postés4Date d'inscriptionmercredi 4 mars 2009StatutMembreDernière intervention16 janvier 2010
-
21 mai 2009 à 20:20
Bonjour,
Je dois créer je dois créer un Wordpad evolué multilangue (arabe/asiatique etc...) et y insérer des ole etc....
Je suis sous 2000/XP VC6 le richedit 3.0 semble bien convenir a ce que je veux faire...
1) si je fais un new CRichEditCtrl il me charge du 3.0 ou du 1.0 ?
2) Ne sachant pas, J'ai voulu faire un createwindowEx mais il ne reconnait pas le nom de classe 'RICHEDIT_CLASS' il me reconnait uniquement le nom de classe ' RichEdit' (donc du 1.0 si j'ai bien compris) si je fais un AfxInitRichEdit
J'ai bien trouvé un AfxInitRichEdit2 dans le msdn qui devrait charger le richEdit 2.0 ou plus mais le compilo me dit que la fonction n'existe pas
PhantomPowaa
Messages postés7Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention12 mars 2004 12 mars 2004 à 00:27
Pour ce qui est des erreurs avec RICHEDIT_CLASS c parce que faut faire un define spécial pour que le compilo aille lire le passage dans lesquel il est def.
si tu vas voir dans richedit.h tu trouves ça (c la version 6 de VC alors ne m'en veut pas y a pas rich 3, mais le 2 et c pareil en gros)
#if (_RICHEDIT_VER >= 0x0200 )
#ifdef UNICODE
#define RICHEDIT_CLASS RICHEDIT_CLASSW
#else
#define RICHEDIT_CLASS RICHEDIT_CLASSA
#endif /* UNICODE */
#else
#define RICHEDIT_CLASS RICHEDIT_CLASS10A
#endif /* _RICHEDIT_VER >= 0x0200 */
donc avant windows.h tu fais un define _RICHEDIT_VER 0x200 par exemple et ça marche.
Voila, jpense que t'y arrivera, si c pas le cas, jte dirais précisément avec richedit 3 commpent on fait mais jsuis pas sur mon pc :P
youpla51
Messages postés7Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention30 mars 2004 12 mars 2004 à 11:22
Merci pour ta reponse
J'ai fait le define.
Mais lorsque je fait pour tester un GetClassInfoEx de "RICHEDIT_CLASS", cela ne marche toujours pas.
Par contre GetClassInfoEx de "RichEdit20A" fonctionne.
Je passe donc désormais directement "RichEdit20A" lors de la creation de mon controle.
Les structures dans richedit.h semble par contre prendre en compte le define donc c'est parfait
Par contre es tu sur que en VC6 on n'a que du 2.0 J'ai cru comprendre en lisant le msdn que cela depend surtout du systeme d'exploitation
NT4-> 1.0 2.0
2000 -> 1.0 3.0
XP -> 1.0 3.0 et 4.1
PhantomPowaa
Messages postés7Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention12 mars 2004 12 mars 2004 à 14:34
En fait, la version de richedit dépend du systeme d'exploitation bien sur. Avec XP on a la derniere par exemple.
Mais moi jte disais ça parce que je crois que sous la 6 y a pas les définitions de tout les trucs qui font parti de richedit3.0 et 4.1 par exemple. C'est juste une histoire d'include, bien sur tu peux compiler un prog qui utilise richedit 4.1 avec VC6, y a juste qu'il faut peut etre mettre à jour les bibliothèques.
Sans ça pour le GetClassInfoEx c normal que ça marche pas avec RICHEDIT_CLASS puisque c'est en quelque sorte un mot générique pour les richedit supérieur ou = à la 2.0. Donc faut forcément plus de précision à windows pour te donner des infos sur la classe.
Voila, si t'as certaines fonctions ou messages qui vont avec ta version de richedit qui sont pas reconnu par le compilo, c qu'elles ne ssont pas défini dnas les include (ça m'est arrivé avec la 2.0 et VC6 justement si jme souvient bien) à ce moment là cherche deja dans les richedit.h si tu trouve ton truc qq part, sinon cherche une version plus récente du .h .
Voila, salut et encore une fois bonne chance