如何在画布上画一个带箭头的直线. 用canvas,先画一条直线,再在直线的前面画一个三角形不就成了吗!具体的查一下Canvas的属性,我记得直线是LineTo,多边形我忘了:-) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你先画一条直线,在直线的尽头上下各加固定的值算出两个点,在直线前加几个点的值算出一个点,算出三个点连起来不就行了吗。给你一个小例程:procedure TForm1.Button1Click(Sender: TObject);var ArrowHead : Array[1..3] of TPoint; s,e, y : integer;begin s := 100; e := 100; y := 5; self.Canvas.MoveTo(s,e); self.Canvas.LineTo((s + 100),e); ArrowHead[1].X :=s + 100; ArrowHead[1].Y := e - y; ArrowHead[2].X := s + 100; ArrowHead[2].Y := e + y; ArrowHead[3].X := s+ 100 + 25; ArrowHead[3].Y :=e; self.Canvas.Polygon(ArrowHead);end; 请问如何用DELPHI读取文本文件的最后一行? 纪念穿裤衩的最后这段时光,散分 菜鸟问题(在线等)谢谢 Delphi如何實現屏幕取詞? 如何调用系统指定的打印机 用远程桌面登录后,怎样向被其它用户启动的应用程序发送自定义或实现内存共享? TWebBrowser的简单问题(关于Copy Paste) BDE连接oracle出现新问题:vendor initialization failed 推荐全国邮政编码数据库,详情见内 紧急求助!!!!!!!怎样定义一个变量,使它不但可以改变,而且不受程序重新启动的影响 动态之动态 有没有toolbutton控件,与speedbutton的区别
procedure TForm1.Button1Click(Sender: TObject);
var
ArrowHead : Array[1..3] of TPoint;
s,e, y : integer;
begin
s := 100;
e := 100;
y := 5;
self.Canvas.MoveTo(s,e);
self.Canvas.LineTo((s + 100),e);
ArrowHead[1].X :=s + 100;
ArrowHead[1].Y := e - y;
ArrowHead[2].X := s + 100;
ArrowHead[2].Y := e + y;
ArrowHead[3].X := s+ 100 + 25;
ArrowHead[3].Y :=e;
self.Canvas.Polygon(ArrowHead);
end;