我正在使用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不允许)我将照片添加到结果中……