⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit2.pas

📁 电气控制仿真软件
💻 PAS
字号:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, ExtCtrls, OleCtrls, vgctrl40_TLB, DBTables, StdCtrls, Buttons,
  DBCtrls, ImgList, ComCtrls, Menus;

type
  TForm2 = class(TForm)
    Panel5: TPanel;
    Panel2: TPanel;
    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;
    Panel3: TPanel;
    ComboBox1: TComboBox;
    CmWV: TComboBox;
    MainMenu1: TMainMenu;
    F1: TMenuItem;
    X1: TMenuItem;
    SpeedButton1: TSpeedButton;
    vgctrl1: Tvgctrl;
    vgctrl3: Tvgctrl;
    procedure FormCreate(Sender: TObject);
    procedure vgctrl1Error(Sender: TObject; const Msg: WideString);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton13Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton10Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton11Click(Sender: TObject);
    procedure SpeedButton14Click(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton16Click(Sender: TObject);
    procedure SpeedButton17Click(Sender: TObject);
    procedure SpeedButton18Click(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure vgctrl1SelectChange(Sender: TObject);
    procedure SpeedButton19Click(Sender: TObject);
    procedure SpeedButton20Click(Sender: TObject);
    procedure SpeedButton21Click(Sender: TObject);
    procedure CmWVClick(Sender: TObject);
    procedure vgctrl1ZoomChange(Sender: TObject; Zoom: Integer);
    procedure X1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
    procedure vgctrl1Message(Sender: TObject; Index: Integer;
      const Msg: WideString);
    procedure vgctrl1ModifyChange(Sender: TObject; Modified: WordBool);
  private
    procedure CMDialogKey( var Message : TCMDialogKey );message CM_DIALOGKEY;
  public
    { Public declarations }
  end;

implementation

{$R *.DFM}
procedure TForm2.FormCreate(Sender: TObject);
var
  i, n : Integer;
begin
  vgctrl1.Design( '' );
  vgctrl1.ZoomFitWidth();
  vgctrl3.Run( 'headfoot' );
  n := vgctrl3.SheetCount;
  ComboBox1.Items.Clear;
  for i := 0 to n - 1 do
    ComboBox1.Items.Add( ISheet( vgctrl3.Sheets[i] ).Name );
  vgctrl3.Library_ := true;
  ComboBox1.ItemIndex := 0;
end;

procedure TForm2.CMDialogKey( var Message : TCMDialogKey );
begin
end;

procedure TForm2.vgctrl1Error(Sender: TObject; const Msg: WideString);
begin
  ShowMessage( Msg );
end;

procedure TForm2.SpeedButton6Click(Sender: TObject);
begin
  vgctrl1.Print;
end;

procedure TForm2.SpeedButton13Click(Sender: TObject);
begin
  vgctrl1.SaveToFile(vgctrl1.FileName);
end;

procedure TForm2.SpeedButton7Click(Sender: TObject);
begin
  vgctrl1.NewUnit( 'Text', 0 );
end;

procedure TForm2.SpeedButton12Click(Sender: TObject);
var
  Sheet1 : ISheet;
begin
  Sheet1 := ISheet( vgctrl1.ActiveSheet );
  Sheet1.DeleteSelection;
end;

procedure TForm2.SpeedButton8Click(Sender: TObject);
begin
  vgctrl1.Undo;
end;

procedure TForm2.SpeedButton10Click(Sender: TObject);
begin
  vgctrl1.Redo;
end;

procedure TForm2.SpeedButton9Click(Sender: TObject);
var
  Sheet1 : ISheet;
  Selection : IGroup;
begin
  Sheet1 := ISheet( vgctrl1.ActiveSheet );
  Selection := IGroup( Sheet1.Selection );
  Selection.CopyToClipboard;
end;

procedure TForm2.SpeedButton11Click(Sender: TObject);
begin
  vgctrl1.Paste;
end;

procedure TForm2.SpeedButton14Click(Sender: TObject);
begin
  vgctrl1.NewTable( 4, 1 );
end;

procedure TForm2.SpeedButton15Click(Sender: TObject);
begin
  vgctrl1.SplitText;
end;

procedure TForm2.SpeedButton16Click(Sender: TObject);
begin
  vgctrl1.MergeText;
end;

procedure TForm2.SpeedButton17Click(Sender: TObject);
begin
  vgctrl1.SetProperty();
end;

procedure TForm2.SpeedButton18Click(Sender: TObject);
begin
  vgctrl1.SetPage();
end;

procedure TForm2.ComboBox1Click(Sender: TObject);
begin
  if ComboBox1.ItemIndex > -1 then
    vgctrl1.NewUnit( ComboBox1.Items[ComboBox1.ItemIndex], 1 );
end;

procedure TForm2.vgctrl1SelectChange(Sender: TObject);
var
  b : Boolean;
  Sheet1 : ISheet;
  Selection : IGroup;
begin
  Sheet1 := ISheet( vgctrl1.ActiveSheet );
  Selection := IGroup( Sheet1.Selection );
  b := Selection.UnitCount > 0;
  SpeedButton12.Enabled := b;
  SpeedButton9.Enabled := b;
  SpeedButton16.Enabled := b;
  SpeedButton17.Enabled := b;
end;

procedure TForm2.SpeedButton19Click(Sender: TObject);
begin
  vgctrl1.ZoomIn;
end;

procedure TForm2.SpeedButton20Click(Sender: TObject);
begin
  vgctrl1.Print;
end;

procedure TForm2.SpeedButton21Click(Sender: TObject);
begin
  vgctrl1.MoveSheet;
end;

procedure TForm2.CmWVClick(Sender: TObject);
var
  n, d : Integer;
  s : AnsiString;
begin
  if CmWV.Text = '整页' then
    vgctrl1.ZoomFit
  else if( CmWV.Text = '页宽' ) then
    vgctrl1.ZoomFitWidth
  else
  begin
    s := CmWV.Text;
    n := Length( s );

    if ( n > 0 ) and ( s[n] = '%' ) then
      s[n] := #0;
    try
      d := StrToInt( s );
    except
      MessageBox( Handle, '放大率应在25-500之间.', 0, MB_OK or MB_ICONEXCLAMATION );
      d := vgctrl1.Zoom;
    end;
    if( d < 25 )then
      d := 25;
    if( d > 500 )then
      d := 500;
    vgctrl1.Zoom := d;
  end;
  Windows.SetFocus( vgctrl1.Handle );
end;

procedure TForm2.vgctrl1ZoomChange(Sender: TObject; Zoom: Integer);
begin
  CmWV.Text := IntToStr( Zoom ) + '%';
end;

procedure TForm2.X1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TForm2.SpeedButton1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm2.vgctrl1Message(Sender: TObject; Index: Integer;
  const Msg: WideString);
begin
  SpeedButton8.Enabled := vgctrl1.CanUndo;
  SpeedButton10.Enabled := vgctrl1.CanRedo;
end;

procedure TForm2.vgctrl1ModifyChange(Sender: TObject; Modified: WordBool);
begin
  SpeedButton13.Enabled := Modified;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -