代码其实很简单,内容如下:
1、新建工程后分别在FormShow和MouseMove事件里添加如下代码:
procedure TForm1.FormShow(Sender: TObject);
begin
FInfoLabel := TLabel.Create(Self);
FInfoLabel.Parent := Self;
FInfoLabel.Color := clInfoBK;
FInfoLabel.Visible := False;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
Po :TPoint;
procedure DrawHORZLine(x,y :integer);
begin
Canvas.MoveTo(x,0);
Canvas.LineTo( x,self.Height);
Canvas.MoveTo(0,Y);
Canvas.LineTo( self.Width,Y);
end;
begin
GetCursorPos(Po);
Po := ScreenToClient(Po);
Canvas.Pen.Mode := pmNOTXOR;
Canvas.Pen.Color := clBlack;
if FOldFloatPo.Y > - 1 then
DrawHorzLine(FOldFloatPo.X,FOldFloatPo.Y);
FOldFloatPo := Po;
DrawHorzLine(FOldFloatPo.X,FOldFloatPo.Y);
FInfoLabel.Caption := '';
FInfoLabel.Caption := 'X坐标:'+inttostr(FOldFloatPo.X) +' '+ 'Y坐标:'+inttostr(FOldFloatPo.Y);
FInfoLabel.Width := 200;
FInfoLabel.Left := FOldFloatPo.X + 5 ;//- round(FInfoLabel.Width/2);
FInfoLabel.Top := FOldFloatPo.Y - 15 ;
FInfoLabel.Visible := True;
FInfoLabel.Refresh;
end;2、并在FORM类中添加如下对象
FOldFloatPo :TPoint;
FInfoLabel:TLabel;3、设置窗颜色最好为白色好了运行时后,迅速晃动鼠标,会出现很多拖尾现象,想问怎么解决。
1、新建工程后分别在FormShow和MouseMove事件里添加如下代码:
procedure TForm1.FormShow(Sender: TObject);
begin
FInfoLabel := TLabel.Create(Self);
FInfoLabel.Parent := Self;
FInfoLabel.Color := clInfoBK;
FInfoLabel.Visible := False;
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
Po :TPoint;
procedure DrawHORZLine(x,y :integer);
begin
Canvas.MoveTo(x,0);
Canvas.LineTo( x,self.Height);
Canvas.MoveTo(0,Y);
Canvas.LineTo( self.Width,Y);
end;
begin
GetCursorPos(Po);
Po := ScreenToClient(Po);
Canvas.Pen.Mode := pmNOTXOR;
Canvas.Pen.Color := clBlack;
if FOldFloatPo.Y > - 1 then
DrawHorzLine(FOldFloatPo.X,FOldFloatPo.Y);
FOldFloatPo := Po;
DrawHorzLine(FOldFloatPo.X,FOldFloatPo.Y);
FInfoLabel.Caption := '';
FInfoLabel.Caption := 'X坐标:'+inttostr(FOldFloatPo.X) +' '+ 'Y坐标:'+inttostr(FOldFloatPo.Y);
FInfoLabel.Width := 200;
FInfoLabel.Left := FOldFloatPo.X + 5 ;//- round(FInfoLabel.Width/2);
FInfoLabel.Top := FOldFloatPo.Y - 15 ;
FInfoLabel.Visible := True;
FInfoLabel.Refresh;
end;2、并在FORM类中添加如下对象
FOldFloatPo :TPoint;
FInfoLabel:TLabel;3、设置窗颜色最好为白色好了运行时后,迅速晃动鼠标,会出现很多拖尾现象,想问怎么解决。
解决方案 »
- 能不能在PDF控件中实现字符串的搜索,如在文本框里输入'aaaa',然后在pdf中将所有的'aaaa'选中
- 关于aqoquery
- 一个简单的算法~~~不知道怎么写? 高手请指教,小弟在线等!!!
- 请问treeview中某个节点的名称变了后,我怎么才能知道它变了,以便我可以存入数据库???
- 如何在记录集中跟踪表名?
- 郁闷!散分!!!
- 关于dbcombobox的问题
- DBGrid的简单显示问题
- with Control as Tlistbox do 是什么意思?
- 在 WinNT 中的文件拷贝问题,急
- 问一个关于sql和access的问题
- 老大帮忙:初学Delphi 请给出ADO连接数据库的字符串代码?
procedure DrawHORZLine(x,y :integer);
begin
Canvas.FillRect(ClientRect); //加这个
Canvas.MoveTo(x,0);
Canvas.LineTo( x,self.Height);
Canvas.MoveTo(0,Y);
Canvas.LineTo( self.Width,Y);
end;
Y: Integer);
var
Po :TPoint; procedure DrawHORZLine(x,y :integer);
var
bm:TBitmap;
Text:String;
begin
bm:=TBitmap.Create;
try
bm.Canvas.Brush.Color := 0;
bm.Canvas.Font.Color := clWhite;
Text:= 'X坐标:'+inttostr(FOldFloatPo.X) +' '+ 'Y坐标:'+inttostr(FOldFloatPo.Y);
bm.Width :=bm.Canvas.TextWidth(Text);
bm.Height := bm.Canvas.TextHeight(Text); bm.Canvas.TextOut(0,0,Text); Canvas.CopyMode:=cmSrcInvert;
canvas.Draw(x+5,y-15,bm); finally
bm.free;
end; Canvas.MoveTo(x,0);
Canvas.LineTo( x,self.Height);
Canvas.MoveTo(0,Y);
Canvas.LineTo( self.Width,Y);
end;
begin
FInfoLabel.hide;
GetCursorPos(Po);
Po := ScreenToClient(Po); Canvas.Pen.Mode := pmNOTXOR;
Canvas.Pen.Color := clBlack; if FOldFloatPo.Y > - 1 then
DrawHorzLine(FOldFloatPo.X,FOldFloatPo.Y); FOldFloatPo := Po; DrawHorzLine(FOldFloatPo.X,FOldFloatPo.Y);
{
FInfoLabel.Caption := '';
FInfoLabel.Caption := 'X坐标:'+inttostr(FOldFloatPo.X) +' '+ 'Y坐标:'+inttostr(FOldFloatPo.Y);
FInfoLabel.Width := 200;
FInfoLabel.Left := FOldFloatPo.X + 5 ;//- round(FInfoLabel.Width/2);
FInfoLabel.Top := FOldFloatPo.Y - 15 ;
FInfoLabel.Visible := True;
// FInfoLabel.Refresh;
FInfoLabel.show;}
end;