Nombre de pages d'un RichEdit.

Résolu
portos6926 Messages postés 6 Date d'inscription dimanche 13 octobre 2013 Statut Membre Dernière intervention 30 janvier 2014 - 13 oct. 2013 à 15:31
sp40 Messages postés 1284 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 - 16 oct. 2013 à 09:52
Bonjour, tout est dans le titre.

Je veux savoir le nombre de pages contenues dans un RichEdit.

Merci.

4 réponses

solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 10
13 oct. 2013 à 19:04
Salut,
Ben tu ne peux pas, tRechEdit est un composant visuel, et il n'y a pas de notion de page. Cette notion dépend de ton imprimante, taille et orientation de page.
Désolé :-)
Bon courage.
solilog
0
portos6926 Messages postés 6 Date d'inscription dimanche 13 octobre 2013 Statut Membre Dernière intervention 30 janvier 2014
14 oct. 2013 à 16:33
Je pensais qu'il existe une fonction dans l'API WINDOWS.
J'ai trouvé une solution simple. La voici.
Petit commentaire pour solilog : Il y a toujours une solution.


//---------------------------------------------------------------------------------
// La fonction Round ne tiend pas compte de la valeur décimale si celleci est
// inférieur à 0,5 . Si ComptePages retourne (Exemple) 2,3 il faut compter 3 pages
Function ArrondiSup(V : Double) : Integer;
Begin
If Frac(V) > 0 Then
V := Int(V) + 1;
Result := Round(V);
End;
//-------------------------------------------------------------------------------
Function TMainForm.ComptePages : Double;
Var
P, H : Integer;
V : Double;

Begin
// Déplace la barre de défillement verticale en bas du texte
SendMessage(Editor.Handle, WM_VSCROLL, SB_BOTTOM, 0 );
// Renvoi la hauteur totale du canvas en pixels
P:= GetScrollPos(Editor.Handle,SB_VERT);

H:= RichEdit1.ClientHeight;
V := (P + H) / H;
Result := V;
// Si on désir n'avoir que des entiers (2,3 => 3 pages)
Result := ArrondiSup(V);
End;
//------------------------------------------------------------------------------
0
sp40 Messages postés 1284 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 13
14 oct. 2013 à 16:50
mouiiiiii, enfin, ça dépend aussi de la configuration de ton imprimante (marges, zones d'impression, taille du papier)...
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
15 oct. 2013 à 07:45
Bonjour
D'accord avec Simon, cette procédure ne doit pas donner le nombre de pages réellement imprimées
0
portos6926 Messages postés 6 Date d'inscription dimanche 13 octobre 2013 Statut Membre Dernière intervention 30 janvier 2014
15 oct. 2013 à 23:59
Cela n'a rien à voir avec l'imprimante. Le but est de connaitre le nombre de pages à l'écran (dans le RichEdit);

J'ai pourtant bien mis la balise [RESOLU], et cette méthode fonctionne très bien.
0
sp40 Messages postés 1284 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 13
16 oct. 2013 à 09:52
Autant pour moi...
0