对目录文字到页码的连线进行优化,由文字"."改成画线方式

This commit is contained in:
csh 2024-11-15 15:29:34 +08:00
parent 5652980a97
commit 57f673f457
1 changed files with 8 additions and 9 deletions

View File

@ -34,19 +34,18 @@ end;
function TSToc.AddPageNumber(page: TSPage); function TSToc.AddPageNumber(page: TSPage);
begin begin
number := tostring(page.Number); number := tostring(page.Number);
symbol := ".";
tspage_.PdfPage.SetFontAndSize(font_, ppr_.RPr.Sz.Val); tspage_.PdfPage.SetFontAndSize(font_, ppr_.RPr.Sz.Val);
w := tspage_.PdfPage.TextWidth(symbol);
number_sz := tspage_.PdfPage.TextWidth(number); number_sz := tspage_.PdfPage.TextWidth(number);
x := rect_[2] - number_sz; x := rect_[2] - number_sz;
tspage_.PdfPage.BeginText(); tspage_.PdfPage.BeginText();
tspage_.PdfPage.TextOut(x, y_, number); tspage_.PdfPage.TextOut(x, y_, number);
tspage_.PdfPage.EndText(); tspage_.PdfPage.EndText();
while x_ < x - w do
begin tspage_.PdfPage.SetRGBStroke(0, 0, 0);
tspage_.PdfPage.BeginText(); tspage_.PdfPage.SetDash(array(0.5, 2), 2, 0);
tspage_.PdfPage.TextOut(x_, y_, symbol); tspage_.PdfPage.SetLineWidth(0.5);
tspage_.PdfPage.EndText(); tspage_.PdfPage.SetLineCap(TSPdfEnumerations.ROUND_END);
x_ += w; tspage_.PdfPage.MoveTo(x_+1, y_);
end tspage_.PdfPage.LineTo(x-0.5, y_);
tspage_.PdfPage.Stroke();
end; end;