📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, Menus, StdCtrls, Buttons, OleCtrls, vgctrl40_TLB,
ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
ListBox1 : TListBox;
ListBox2 : TListBox;
ColorDialog1 : TColorDialog;
PageControl1 : TPageControl;
TabSheet1 : TTabSheet;
TabSheet2 : TTabSheet;
TabSheet3 : TTabSheet;
Panel3 : TPanel;
Button1 : TButton;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton30: TSpeedButton;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
SpeedButton33: TSpeedButton;
SpeedButton34: TSpeedButton;
SpeedButton35: TSpeedButton;
SpeedButton36: TSpeedButton;
SpeedButton37: TSpeedButton;
SpeedButton38: TSpeedButton;
SpeedButton39: TSpeedButton;
SpeedButton40: TSpeedButton;
SpeedButton41: TSpeedButton;
SpeedButton45: TSpeedButton;
SpeedButton46: TSpeedButton;
SpeedButton47: TSpeedButton;
SpeedButton48: TSpeedButton;
SpeedButton49: TSpeedButton;
SpeedButton50: TSpeedButton;
SpeedButton51: TSpeedButton;
SpeedButton52: TSpeedButton;
SpeedButton53: TSpeedButton;
SpeedButton54: TSpeedButton;
SpeedButton55: TSpeedButton;
SpeedButton56: TSpeedButton;
SpeedButton57: TSpeedButton;
SpeedButton58: TSpeedButton;
SpeedButton59: TSpeedButton;
SpeedButton60: TSpeedButton;
SpeedButton61: TSpeedButton;
SpeedButton62: TSpeedButton;
OpenDialog1: TOpenDialog;
PopupMenu2: TPopupMenu;
N8: TMenuItem;
N21: TMenuItem;
N41: TMenuItem;
N81: TMenuItem;
N101: TMenuItem;
N161: TMenuItem;
N201: TMenuItem;
N321: TMenuItem;
N9: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N10: TMenuItem;
SpeedButton63: TSpeedButton;
PopupMenu3: TPopupMenu;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
Panel10: TPanel;
ListBox5: TListBox;
Panel11: TPanel;
CmAddSheet: TSpeedButton;
CmDeleteSheet: TSpeedButton;
Panel7: TPanel;
Panel8: TPanel;
SpeedButton64: TSpeedButton;
ComboBox1: TComboBox;
ListBox4: TListBox;
OpenDialog2: TOpenDialog;
StatusBar1: TStatusBar;
SpeedButton65: TSpeedButton;
SpeedButton66: TSpeedButton;
SpeedButton67: TSpeedButton;
SpeedButton68: TSpeedButton;
SpeedButton69: TSpeedButton;
OpenPictureDialog1: TOpenPictureDialog;
CmWV: TComboBox;
SpeedButton29: TSpeedButton;
SpeedButton70: TSpeedButton;
SpeedButton71: TSpeedButton;
SpeedButton72: TSpeedButton;
TabSheet4: TTabSheet;
Panel5: TPanel;
Panel12: TPanel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Label2: TLabel;
Button5: TButton;
Button7: TButton;
Timer1: TTimer;
SpeedButton73: TSpeedButton;
SpeedButton74: TSpeedButton;
Memo1: TMemo;
ListBox3: TListBox;
SpeedButton42: TSpeedButton;
vgctrl1: Tvgctrl;
vgctrl2: Tvgctrl;
vgctrl4: Tvgctrl;
lib: Tvgctrl;
Panel13: TPanel;
vgctrl3: Tvgctrl;
procedure ListBox2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CmNewClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
procedure SpeedButton18Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
procedure SpeedButton21Click(Sender: TObject);
procedure SpeedButton22Click(Sender: TObject);
procedure SpeedButton23Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure SpeedButton26Click(Sender: TObject);
procedure SpeedButton27Click(Sender: TObject);
procedure SpeedButton28Click(Sender: TObject);
procedure SpeedButton30Click(Sender: TObject);
procedure SpeedButton31Click(Sender: TObject);
procedure SpeedButton32Click(Sender: TObject);
procedure SpeedButton33Click(Sender: TObject);
procedure SpeedButton34Click(Sender: TObject);
procedure SpeedButton35Click(Sender: TObject);
procedure SpeedButton36Click(Sender: TObject);
procedure SpeedButton37Click(Sender: TObject);
procedure SpeedButton39Click(Sender: TObject);
procedure SpeedButton38Click(Sender: TObject);
procedure SpeedButton40Click(Sender: TObject);
procedure SpeedButton41Click(Sender: TObject);
procedure SpeedButton42Click(Sender: TObject);
procedure SpeedButton45Click(Sender: TObject);
procedure SpeedButton46Click(Sender: TObject);
procedure SpeedButton47Click(Sender: TObject);
procedure SpeedButton48Click(Sender: TObject);
procedure SpeedButton49Click(Sender: TObject);
procedure SpeedButton50Click(Sender: TObject);
procedure SpeedButton52Click(Sender: TObject);
procedure SpeedButton53Click(Sender: TObject);
procedure SpeedButton54Click(Sender: TObject);
procedure SpeedButton55Click(Sender: TObject);
procedure SpeedButton56Click(Sender: TObject);
procedure SpeedButton57Click(Sender: TObject);
procedure SpeedButton58Click(Sender: TObject);
procedure SpeedButton59Click(Sender: TObject);
procedure SpeedButton60Click(Sender: TObject);
procedure SpeedButton61Click(Sender: TObject);
procedure SpeedButton62Click(Sender: TObject);
procedure SpeedButton51Click(Sender: TObject);
procedure N321Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure SpeedButton63Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure CmAddSheetClick(Sender: TObject);
procedure CmDeleteSheetClick(Sender: TObject);
procedure ListBox5Click(Sender: TObject);
procedure SpeedButton64Click(Sender: TObject);
procedure ListBox4Click(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure ListBox4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure vgctrl3DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure vgctrl3DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure SpeedButton65Click(Sender: TObject);
procedure SpeedButton66Click(Sender: TObject);
procedure SpeedButton67Click(Sender: TObject);
procedure SpeedButton68Click(Sender: TObject);
procedure SpeedButton69Click(Sender: TObject);
procedure CmWVClick(Sender: TObject);
procedure vgctrl3SelectChange(Sender: TObject);
procedure CmWVKeyPress(Sender: TObject; var Key: Char);
procedure vgctrl3Error(Sender: TObject; const Msg: WideString);
procedure PopupMenu3Popup(Sender: TObject);
procedure SpeedButton29Click(Sender: TObject);
procedure SpeedButton70Click(Sender: TObject);
procedure SpeedButton71Click(Sender: TObject);
procedure SpeedButton72Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure SpeedButton73Click(Sender: TObject);
procedure SpeedButton74Click(Sender: TObject);
procedure vgctrl3ModifyChange(Sender: TObject; Modified: WordBool);
procedure vgctrl3Message(Sender: TObject; Index: Integer;
const Msg: WideString);
procedure vgctrl3ZoomChange(Sender: TObject; Zoom: Integer);
procedure vgctrl3AddSheet(Sender: TObject; const ASheet: ISheet);
procedure vgctrl3DeleteSheet(Sender: TObject; const ASheet: ISheet);
procedure vgctrl3AddUnit(Sender: TObject; const AUnit: IUnit);
procedure vgctrl3DeleteUnit(Sender: TObject; const AUnit: IUnit);
procedure vgctrl4Click(Sender: TObject);
procedure vgctrl4DblClick(Sender: TObject);
private
{ Private declarations }
procedure AppIdle( Sender: TObject; var Done: Boolean );
procedure CMDialogKey( var Message : TCMDialogKey );message CM_DIALOGKEY;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2, Unit3;
procedure TForm1.CMDialogKey( var Message : TCMDialogKey );
begin
end;
procedure TForm1.ListBox2Click(Sender: TObject);
begin
vgctrl1.Run( ListBox2.Items.Strings[ListBox2.ItemIndex] );
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Index : Integer;
s, t : String;
begin
Index := ListBox1.ItemIndex;
while( Index > 0 )do
begin
s := ListBox1.Items.Strings[Index];
if( Pos( '----', s ) = 1 )then
begin
Inc( Index );
Break;
end
else
Dec( Index );
end;
if( Index < ListBox1.Items.Count - 1 )then
begin
while( true )do
begin
s := ListBox1.Items.Strings[Index];
if( Pos( '----', s ) <> 1 )then
begin
t := t + s + ';';
Inc( Index );
end
else
begin
ListBox1.ItemIndex := Index;
Break;
end;
end;
if( Length( t ) > 0 )then
begin
vgctrl2.Run( '' );
vgctrl2.Execute( t );
end;
end;
end;
function MyChooseColor( cl : PChar ) : Boolean; stdcall;
var
s : String;
begin
s := Trim( StrPas( cl ) );
Form1.ColorDialog1.Color := StrToIntDef( s, 0 );
Result := Form1.ColorDialog1.Execute;
if( Result )then
StrPCopy( cl, IntToStr( Form1.ColorDialog1.Color ) );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
vgctrl3.AddFunction( 'ChooseColor', '4', 48 + 3, Longint( @MyChooseColor ) );
vgctrl3.Design( '' );
vgctrl3.ShowRuler := true;
ListBox1.ItemIndex := 0;
Application.OnIdle := AppIdle;
end;
procedure TForm1.AppIdle( Sender: TObject; var Done: Boolean );
begin
SpeedButton9.Enabled := vgctrl3.CanPaste;
SpeedButton5.Enabled := vgctrl3.CanUndo;
SpeedButton6.Enabled := vgctrl3.CanRedo;
//等价于下面的程序
// SpeedButton9.Enabled := vgctrl3.Calculate( 'CanPaste()' );
// SpeedButton5.Enabled := vgctrl3.Calculate( 'CanUndo()' );
// SpeedButton6.Enabled := vgctrl3.Calculate( 'CanRedo()' );
end;
procedure TForm1.CmNewClick(Sender: TObject);
begin
vgctrl3.Design( '' );
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
ListBox5.Items.Clear;
vgctrl3.LoadFromFile( OpenDialog1.FileName );
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
vgctrl3.SaveToFile( vgctrl3.FileName );
//等价于下面的程序
// vgctrl3.Execute( 'SaveToFile(FileName)' );
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
vgctrl3.Print();
//等价于下面的程序
// vgctrl3.Execute( 'Print()' );
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
vgctrl3.SetPage;
//等价于下面的程序
// vgctrl3.Execute( 'SetPage()' );
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
vgctrl3.Undo;
//等价于下面的程序
// vgctrl3.Execute( 'Undo()' );
end;
procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
vgctrl3.Redo;
//等价于下面的程序
// vgctrl3.Execute( 'Redo()' );
end;
procedure TForm1.SpeedButton7Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).CopyToClipboard;
Sheet1.DeleteSelection;
//等价于下面的程序
// vgctrl3.Execute( 'Selection.CopyToClipboard();DeleteSelection()' );
end;
procedure TForm1.SpeedButton8Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).CopyToClipboard;
//等价于下面的程序
// vgctrl3.Execute( 'Selection.CopyToClipboard()' );
end;
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
vgctrl3.Paste;
//等价于下面的程序
// vgctrl3.Execute( 'Paste()' );
end;
procedure TForm1.SpeedButton10Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
Sheet1.DeleteSelection;
//等价于下面的程序
// vgctrl3.Execute( 'DeleteSelection()' );
end;
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
vgctrl3.Rotate;
//等价于下面的程序
// vgctrl3.Execute( 'Rotate()' );
end;
procedure TForm1.SpeedButton12Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).Mirror( 1 );
//等价于下面的程序
// vgctrl3.Execute( 'Selection.Mirror( 1 )' );
end;
procedure TForm1.SpeedButton13Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).Mirror( 2 );
//等价于下面的程序
// vgctrl3.Execute( 'Selection.Mirror( 2 )' );
end;
procedure TForm1.SpeedButton14Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).Align( 3 );
//等价于下面的程序
// vgctrl3.Execute( 'Selection.Align( 3 )' );
end;
procedure TForm1.SpeedButton15Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).Align( 0 );
//等价于下面的程序
// vgctrl3.Execute( 'Selection.Align( 0 )' );
end;
procedure TForm1.SpeedButton16Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).Align( 1 );
//等价于下面的程序
// vgctrl3.Execute( 'Selection.Align( 1 )' );
end;
procedure TForm1.SpeedButton17Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
IGroup( Sheet1.Selection ).Align( 2 );
//等价于下面的程序
// vgctrl3.Execute( 'Selection.Align( 2 )' );
end;
procedure TForm1.SpeedButton18Click(Sender: TObject);
var
Sheet1 : ISheet;
begin
Sheet1 := ISheet( vgctrl3.ActiveSheet );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -