uniteagleeye.~pas
来自「在delphi下基于MapX5.0的GIS程序」· ~PAS 代码 · 共 73 行
~PAS
73 行
unit UnitEagleEye;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, MapXLib_TLB, ExtCtrls;
type
TFrmEagleEye = class(TForm)
PanelEagleEye: TPanel;
MapEagleEye: TMap;
procedure MapEagleEyeMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MapEagleEyeMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MapEagleEyeMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmEagleEye: TFrmEagleEye;
implementation
uses UnitCommonModule, UnitMain;
{$R *.dfm}
procedure TFrmEagleEye.MapEagleEyeMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
MapEagleEye.Cursor := crHandPoint;
EagleEye_CanMove := True;
end;
procedure TFrmEagleEye.MapEagleEyeMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
MapEagleEye.Cursor := crDefault;
EagleEye_CanMove := False;
end;
procedure TFrmEagleEye.MapEagleEyeMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
Map_X, Map_Y: Double;
X_X, Y_Y: Single;
begin
if EagleEye_CanMove then
begin
//把屏幕坐标转换为地图坐标
X_X := X; Y_Y := Y;
MapEagleEye.ConvertCoord(X_X, Y_Y, Map_X, Map_Y, miScreenToMap);
//设置主图的中心x坐标和y坐标
FrmMain.Map1.CenterX := Map_X;
FrmMain.Map1.CenterY := Map_Y;
end;
end;
procedure TFrmEagleEye.FormShow(Sender: TObject);
begin
Top := 90;
Left := 10;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?