3

我正在使用 Windows 10,Delphi 7。尝试使用 SynPDF 直接使用它的画布制作 Pdf 文档。我只需要在矩形中绘制与矩形长度相对应的那部分文本,其余部分被切断。我正在使用 DrawText(和 DrawTextEx)函数在给定的矩形中写入文本并对齐(TA_LEFT、TA_RIGHT、TA_CENTER)。问题:这些函数绘制文本,但不考虑给定的边界 - 它们不剪切(裁剪)此文本。

var 
  R: TRect;
  s: String;
begin
    R:= Rect(50, 50, 120, 75);
    Canvas.Brush.Color:=clYellow;
    Canvas.Rectangle(R);  
    Canvas.Font.Name:='Arial';
    Canvas.Font.Size:=10;
    Canvas.Font.Style:=[];
    Canvas.Brush.Style:= bsClear;
    s:='Sample for text clipping';        
    DrawText(Canvas.Handle, PChar(s), -1, R, TA_LEFT or 
            {DT_END_ELLIPSIS or }DT_VCENTER or DT_SINGLELINE);
end;

如果我添加DT_END_ELLIPSIS它可以正常工作但添加三个点 - 我不需要点。我做错了什么?或者我需要为我的任务使用其他功能?

不幸的是,我不允许(通过 StackOverflow)添加带有结果的照片......

4

0 回答 0