DrawTextFlowColumns
Texte, disposition
Description
Fait circuler le texte restant de gauche à droite dans des colonnes de largeur égale au sein d'une région de page
Syntaxe
Delphi
Function TPDFlib.DrawTextFlowColumns(FlowID: Integer; Left, Top, Width, Height: Double; Columns: Integer; Gutter: Double; Balance: Integer): Integer;ActiveX
Function PDFlib::DrawTextFlowColumns(FlowID As Long, Left As Double, Top As Double, Width As Double, Height As Double, Columns As Long, Gutter As Double, Balance As Long) As LongDLL
int DLDrawTextFlowColumns(int InstanceID, int FlowID, double Left, double Top, double Width, double Height, int Columns, double Gutter, int Balance);Paramètres
| FlowID | Descripteur renvoyé par NewTextFlow |
|---|---|
| Left, Top | Position supérieure gauche de la région de colonne complète |
| Width, Height | Taille disponible pour la région de colonne complète |
| Columns | Nombre de colonnes de largeur égale compris entre 1 et 64 |
| Gutter | Espace non négatif entre les colonnes adjacentes |
| Balance | 0 remplit chaque colonne sur toute sa hauteur, tandis que 1 équilibre une région terminée |
Valeurs de retour
Renvoie le nombre total de lignes tracées, ou 0 si rien ne tient, si le handle n'est pas valide ou si la géométrie n'est pas valide
Remarques
Lorsque Balance vaut 1 et que tout le texte restant tient dans la zone complète, la fonction répartit le nombre exact de lignes entre les colonnes demandées
Lorsqu'il reste plus de texte que la zone ne peut en contenir, chaque colonne conserve toute la hauteur demandée afin de ne pas réduire la capacité des pages intermédiaires
L'équilibrage ne mesure qu'une ligne au-delà de la capacité de la zone, évitant l'analyse complète d'un long passage qui doit continuer sur une autre page
Une géométrie non valide et une région trop courte pour une ligne laissent le curseur du flux inchangé
Exemple
while PDF.TextFlowFinished(Flow)= 0 do
begin
PDF.DrawTextFlowColumns(Flow, 50, 60, 495, 720, 3, 18, 1);
if PDF.TextFlowFinished(Flow)= 0 then PDF.NewPage;
end;