Je souhaiterais imprimer le contenu d'un richedit (jusque la pas de probleme) mais je voudrais pouvoir spécifier la taille de mes tabulations lors de l'impression.
en regardant dans MSDN, je vois que la fonction DrawText associée au flag DT_TABSTOP doit me permettre de le faire. Mais la problème, je n'imprime plus rien sur ma feuille.
Voici mon code:
while (bOk && t<dwSize)
{
//Calcul du nombre de char que l'on peut afficher sur la page
while (rect.bottom < page.bottom && t+count<dwSize)
{
rect.right = page.right;
DrawText(hdcPrinter, chaine, count++, &rect,
DT_WORDBREAK|DT_EXPANDTABS|DT_TABSTOP|0x400);
}
//Ajustement de la hauteur de la page
if (rect.bottom>=page.bottom)
count--;
//Impression
DrawText(hdcPrinter, chaine, count, &rect,
DT_WORDBREAK|DT_EXPANDTABS|DT_TABSTOP|0x400);
chaine += count;
t+=count;
bOk = EndPage(hdcPrinter);
}
Et avec ça, je n'ai rien d'imprimer! Par contre si je ne mais pas DS_ABSTOP et 0x400 dans les flags, mais que je rajoute DT_NOCLIP, la mon texte est bien imprimé, mais avec mes tabulations sur 8 espaces au lieu de 4 comme je le souhaiterais!
Sauriez vous comment faire?
Vive le C
Tchao
Savon