DrawTextFlowColumns
متن، چیدمان
توضیحات
متن باقیمانده را در ستونهای همعرض در یک ناحیه صفحه، از چپ به راست عبور میدهد
نحو
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);پارامترها
| FlowID | handle برگرداندهشده توسط NewTextFlow |
|---|---|
| Left, Top | موقعیت بالا-چپ کل ناحیهٔ ستون |
| Width, Height | اندازهٔ موجود برای کل ناحیهٔ ستون |
| Columns | تعداد ستونهای همعرض از 1 تا 64 |
| Gutter | فاصله غیرمنفی بین ستونهای مجاور |
| Balance | 0 هر ستون را تا ارتفاع کامل پر میکند، در حالی که 1 یک ناحیهٔ کاملشده را متعادل میکند |
مقادیر بازگشتی
تعداد کل خطوط رسمشده را برمیگرداند، یا 0 وقتی هیچ چیزی جا نشد، هندل نامعتبر است یا هندسه نامعتبر است
ملاحظات
وقتی Balance برابر 1 باشد و همهٔ متن باقیمانده در کل ناحیه جا شود تابع تعداد دقیق خطوط باقیمانده را میان ستونهای درخواستی تقسیم میکندوقتی متن بیشتری از ظرفیت ناحیه باقی باشد هر ستون کل ارتفاع درخواستی را نگه میدارد تا ظرفیت در صفحات میانی کم نشود
تعادلبخشی فقط تا یک خط بیش از ظرفیت ناحیه را میسنجد تا از اسکن کامل قطعهٔ بلندی که باید به صفحهٔ بعدی برود پرهیز شودهندسهٔ نامعتبر و ناحیهٔ بیش از حد کوتاه برای یک خط، مکاننمای جریان را بدون تغییر میگذارند
مثال
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;