delphi canvas drawtext不会剪切文本

时间:2018-08-02 11:48:22

标签: delphi canvas drawtext synpdf

我正在使用Windows 10,Delphi7。尝试直接使用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不允许)我将照片添加到结果中……

0 个答案:

没有答案