请问怎么达到这种效果 ? 请查看这个网页,如何画这种跟踪光标的十字线,谢谢!http://map.zhcw.com/ssq//html/honglan_ascsize=20.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Series, StdCtrls;type TForm1 = class(TForm) Chart1: TChart; lineSeries1: TFastLineSeries; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure Chart1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Chart1AfterDraw(Sender: TObject); private { Private declarations } public { Public declarations } OldX,OldY:Longint; CrossHairColor:TColor; CrossHairStyle:TPenStyle; end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin OldX:=-1; CrossHairColor:=clYellow; CrossHairStyle:=psSolid;end;procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Procedure DrawCross(AX,AY:Integer); begin With Chart1,Canvas do begin Pen.Color:=CrossHairColor; Pen.Style:=CrossHairStyle; Pen.Mode:=pmXor; Pen.Width:=1; MoveTo(ax,ChartRect.Top-Height3D); LineTo(ax,ChartRect.Bottom-Height3D); MoveTo(ChartRect.Left+Width3D,ay); LineTo(ChartRect.Right+Width3D,ay); end; end;Var tmpX,tmpY:Double;begin if (OldX<>-1) then begin DrawCross(OldX,OldY); OldX:=-1; end; if PtInRect( Chart1.ChartRect, Point(X-Chart1.Width3D,Y+Chart1.Height3D) ) then begin DrawCross(x,y); OldX:=x; OldY:=y; With LineSeries1 do begin GetCursorValues(tmpX,tmpY); Label1.Caption:=GetVertAxis.LabelValue(tmpY)+ ' '+ GetHorizAxis.LabelValue(tmpX); end; end;end;procedure TForm1.Chart1AfterDraw(Sender: TObject);begin OldX:=-1;end;end. function followmouse(){ leftright.style.top = window.event.y-1 topdown.style.left = window.event.x-1}<div id=\"leftright\" style=\"width:expression(document.getElementById('abox').clientWidth);;height:1px;position:absolute;left:0;top:200px;background-color:#11b700;overflow:hidden;\" \></div> 谢谢楼上两位.我需要在Timage 的图片之上画线,但不能清除底下的image 的图象.请问这个该怎么做呢? 把image 放在一个控件上,在控件上画十字,image放图片 在IMAGE1之上放一个IMAGE2,在IMAGE2上画线,但IMAGE2把IMAGE1的图象遮盖了. 设置Image2.Transparent := True 也不行,请问是什么原因呢? bt:=tbitmap.create;bt.assign(image1.picture.bitmap);bt.canvas.brush.style:=bsclear;bt.canvas.moveto(0,0);bt.canvas.lineto(400,400);image1.picture.bitmap.assign(bt);bt.free;下班了 没试验成功 你按这个思路做下看看成不 。 上面有个代码了就那个思路,LZ到TEECHAR的DEMO中找一下也有这个程序源码,用的是鼠标移动定位画线 已经成功了,呵呵需要加上Image2.Canvas.FillRect(Image2.ClientRect);在画线前先填满背景.谢谢各位! 一个不解的问题~~关于tlist 求一个窗体特效的函数.找了很多效果不好使. 为什么回帖速度这么慢啊?是我的网速问题吗? 请教delphi有几种窗体啊? SQL Server 数据库会自动恢复数据吗 有好看的XP控件吗,在哪可以下载?像金山毒霸那样的 人生是不是应该定个目标! 如何随意修改文件夹的创建时间? 各位帮忙!我是新手! 如何在程序中执行FASTREPORT的打印报表? 令人困惑的问题,高分求教,路过的进来看一下吧 模拟ENTER键!!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Series, StdCtrls;type
TForm1 = class(TForm)
Chart1: TChart;
lineSeries1: TFastLineSeries;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Chart1AfterDraw(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
OldX,OldY:Longint;
CrossHairColor:TColor;
CrossHairStyle:TPenStyle;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
OldX:=-1;
CrossHairColor:=clYellow;
CrossHairStyle:=psSolid;
end;procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Procedure DrawCross(AX,AY:Integer);
begin
With Chart1,Canvas do
begin
Pen.Color:=CrossHairColor;
Pen.Style:=CrossHairStyle;
Pen.Mode:=pmXor;
Pen.Width:=1;
MoveTo(ax,ChartRect.Top-Height3D);
LineTo(ax,ChartRect.Bottom-Height3D);
MoveTo(ChartRect.Left+Width3D,ay);
LineTo(ChartRect.Right+Width3D,ay);
end;
end;Var tmpX,tmpY:Double;
begin
if (OldX<>-1) then
begin
DrawCross(OldX,OldY);
OldX:=-1;
end; if PtInRect( Chart1.ChartRect, Point(X-Chart1.Width3D,Y+Chart1.Height3D) ) then
begin
DrawCross(x,y); OldX:=x;
OldY:=y; With LineSeries1 do
begin
GetCursorValues(tmpX,tmpY);
Label1.Caption:=GetVertAxis.LabelValue(tmpY)+
' '+
GetHorizAxis.LabelValue(tmpX);
end;
end;
end;procedure TForm1.Chart1AfterDraw(Sender: TObject);
begin
OldX:=-1;
end;end.
leftright.style.top = window.event.y-1
topdown.style.left = window.event.x-1
}<div id=\"leftright\" style=\"width:expression(document.getElementById('abox').clientWidth);;height:1px;position:absolute;left:0;top:200px;background-color:#11b700;overflow:hidden;\" \></div>
设置Image2.Transparent := True 也不行,请问是什么原因呢?
bt.assign(image1.picture.bitmap);
bt.canvas.brush.style:=bsclear;
bt.canvas.moveto(0,0);
bt.canvas.lineto(400,400);
image1.picture.bitmap.assign(bt);
bt.free;下班了 没试验成功 你按这个思路做下看看成不 。
需要加上Image2.Canvas.FillRect(Image2.ClientRect);在画线前先填满背景.谢谢各位!