我想缩短文件名以适合 TEdit,例如
Edit1.Text := MinimizeName(FileName, Edit1.Canvas, Edit1.Width);
不幸的是,这无法编译,因为 TEdit 确实直接具有 Canvas
属性。 Canvas 需要其字体规范。
如何访问 TEdit 的 Canvas ?
(MinimizeName
在 Vcl.FileCtrl 中声明。)
最佳答案
您可以使用TControlCanvas
。您还应该考虑控件的字体。
例如:
var
Canvas: TControlCanvas;
Canvas := TControlCanvas.Create;
try
Canvas.Control := Edit1;
Canvas.Font.Assign(Edit1.Font);
// Do something with Canvas...
finally
Canvas.Free;
end;
关于delphi - 如何在 Delphi 中获取 TEdit 的 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34119429/