📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, vgctrl40_TLB, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Memo1: TMemo;
Label1: TLabel;
Button1: TButton;
vgctrl1: Tvgctrl;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure vgctrl1MouseMove(Sender: TObject; X, Y: Double);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Sheet1 : ISheet;
d : IShape;
begin
vgctrl1.Run( '' );
vgctrl1.LoadFromBuffer( Memo1.Lines.Text );
Sheet1 := ISheet( vgctrl1.ActiveSheet );//当前页面
d := IShape( Sheet1.AddUnit( 'Shape', 0, 0, 0, 0 ) );//添加一个图形作为框
d.LineColor := $FF;//红线
d.Pattern := 0;//透明
d.LineWidth := 3;
d.Visible := false;//隐藏
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.vgctrl1MouseMove(Sender: TObject; X, Y: Double);
var
Sheet1 : ISheet;
d : IShape;
AUnit, t : IUnit;
begin
Sheet1 := vgctrl1.ActiveSheet;
d := IShape( Sheet1.Units[Sheet1.UnitCount-1] );
AUnit := Sheet1.UnitAtPoint( X, Y );
if( AUnit <> nil )then
begin
t := IUnit( AUnit );
if ( t <> d ) and ( t.Type_ = '刀闸垂直' ) then
begin
d.SetBounds( t.Left - 4, t.Top - 4, t.Width + 8, t.Height + 8 );
d.Description := t.Name;
d.Visible := true;
end;
end
else
begin
if( X >= d.Left ) and ( X < d.Left + d.Width ) and ( Y >= d.Top ) and ( Y < d.Top + d.Height ) then
else
d.Visible := false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -