VisualC++ 6 || Tabulation sous un RichEdit || TEXTMETRIC

VisualC++ 6 || Tabulation sous un RichEdit || TEXTMETRIC - C++ - Programmation

Marsh Posté le 25-02-2005 à 12:06:55    

J ai 2 question a poser:
 
1)Comment faire pour que la tabulation fonction sour un RichEDit(Visual C++ 6)?
2)J ai un probleme au niveau de l'impression ,j arrive a imprimer avec les bonnes fonte mais les caractères sont trop espacé ,comment faire pour connaitre l'espace a mettre suivant le taille,ppolice de caractère ??

Reply

Marsh Posté le 25-02-2005 à 12:06:55   

Reply

Marsh Posté le 25-02-2005 à 13:28:15    

1) il a quoi comme style ton rich edit ? Il est multiligne ? Avec / sans WS_TABSTOP ?
2) les car sont trop espacés ? Tu les imprimes un à un ou quoi ? Normalement leur espacement est régit par la font. Pour connaitre la longueur d'une chaine tu peux utiliser GetTextExtentPoint32.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 25-02-2005 à 14:07:31    

1) Jutilise le MFC est je sais pas cmment rajouter la propriété ws_tabstop.
2)Je travail sur un projet deja developpé et j ai du leur faire un editeur de texte et afin que l'impression respecte le format des caractères (gras,italique,taille,...)j ai du les tester un par un ,le format et bien respecté mais il y a un espace trop grand en les caractère .J essai avec CRECT et TEXTMETRIC mais bon j arrive pas trop.

Reply

Marsh Posté le 26-02-2005 à 17:07:30    

Tu utilises quoi pour connaitre la largeur ?
Pour tabstop regarde dans les propriétés de ton richedit.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 28-02-2005 à 09:34:55    

Ben j'utilise la structure TEXTMETRIC /
 
TEXTMETRIC mesure;
long lEspace = mesure.tmInternalLeading;
mais sa ne récupère pas la bonne la valeur ,il faut que je la multiplie par 2.pourkoi ché pas ????
 

Reply

Marsh Posté le 28-02-2005 à 13:17:22    

Tu utilises TEXTMETRIC directement comme ça ? Il faut appeler une fonction pour l'initialiser! ( GetTextMetrics / GetTextExtentPoint32...)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 01-03-2005 à 13:42:45    

Si je les mie mais le valeur returnée n'est pas la bonne mes caractère se chevoche ;
TEXTMETRIC mesure;
pDC->GetTextMetrics ( &mesure ) ;
long lEspace = mesure.tmInternalLeading;

Reply

Marsh Posté le 01-03-2005 à 22:35:50    

Y'a la largeur de chaque caractère à prendre en compte, et celle-ci est souvent spécifique à chaque caractère (i moins large que o).
http://msdn.microsoft.com/library/ [...] t_85f7.asp


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 02-03-2005 à 09:08:30    

Ok ,il me faut donc récupérer la taille de 2 caractères afin de connaitre leur séparation . bon je vais testé

Reply

Marsh Posté le 02-03-2005 à 23:28:49    

Ou simplement dessiner les 2 car d'un seul coup...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 02-03-2005 à 23:28:49   

Reply

Marsh Posté le 03-03-2005 à 09:14:23    

ben le prob si une lettre change soit de taille soit en gras ou italique mais j'ai trouver comment faire :
TEXTMETRIC mesure;
dc.GetTextMetrics ( &mesure ) ;
long lEspace = mesure.tmInternalLeading;
val = val+(lEspace * NbCaraOld) + lTailleOld ;
r4.left = val;
Merci pour tes reponses c'était bien aimable ,bon fin de journée ....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed