当前位置:  开发笔记 > 编程语言 > 正文

如何在Delphi中获得TEdit的画布?

如何解决《如何在Delphi中获得TEdit的画布?》经验,为你挑选了1个好方法。

我想缩短文件名以适应TEdit,比如

Edit1.Text := MinimizeName(FileName, Edit1.Canvas, Edit1.Width);

不幸的是,这不能编译,因为TEdit Canvas直接拥有属性.其字体指标需要画布.如何访问TEdit的画布?

(MinimizeName在Vcl.FileCtrl中声明.)



1> kobik..:

你可以用TControlCanvas.您还应该考虑控件的Font.

例如:

var
  Canvas: TControlCanvas;

Canvas := TControlCanvas.Create;
try
  Canvas.Control := Edit1;
  Canvas.Font.Assign(Edit1.Font); 

  // Do something with Canvas... 
finally
  Canvas.Free;
end;

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有