📄 d_frmmainunit.pas
字号:
unit d_frmMainUnit;
interface
uses
Windows, Messages, SysUtils, {$IFNDEF VER130}Variants,{$ENDIF} Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ActnList, Menus, ExtCtrls, LMDDsgManager, StdCtrls,
Buttons, ComCtrls, ToolWin, LMDDsgClass;
type
TfrmMain = class(TForm)
MainMenu1: TMainMenu;
DesignersImages: TImageList;
File1: TMenuItem;
New1: TMenuItem;
Open1: TMenuItem;
Save1: TMenuItem;
LMDDesignManager1: TLMDDesignManager;
SaveAs1: TMenuItem;
OpenDialog1: TOpenDialog;
Panel2: TPanel;
sbNone: TSpeedButton;
sbGrid: TSpeedButton;
sbNavigator: TSpeedButton;
sbLabel: TSpeedButton;
sbEdit: TSpeedButton;
sbMemo: TSpeedButton;
sbImage: TSpeedButton;
sbListBox: TSpeedButton;
sbQuery: TSpeedButton;
sbComboBox: TSpeedButton;
sbCheckBox: TSpeedButton;
sbRadioGroup: TSpeedButton;
sbDataSource: TSpeedButton;
Run1: TMenuItem;
Design1: TMenuItem;
StatusBar1: TStatusBar;
ActionList1: TActionList;
actNew: TAction;
actOpen: TAction;
actSave: TAction;
actSaveAs: TAction;
actRun: TAction;
actDesign: TAction;
N1: TMenuItem;
Exit1: TMenuItem;
ImageList1: TImageList;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
actCopy: TAction;
actCut: TAction;
actPaste: TAction;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
Edit1: TMenuItem;
Cut1: TMenuItem;
Copy1: TMenuItem;
Paste1: TMenuItem;
actProps: TAction;
N2: TMenuItem;
Properties1: TMenuItem;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
procedure LMDDesignManager1Change(Sender: TObject);
procedure LMDDesignManager1CurrentDesignerChange(Sender: TObject);
procedure actNewExecute(Sender: TObject);
procedure actOpenExecute(Sender: TObject);
procedure actSaveExecute(Sender: TObject);
procedure actSaveAsExecute(Sender: TObject);
procedure actRunExecute(Sender: TObject);
procedure actDesignExecute(Sender: TObject);
procedure actSaveUpdate(Sender: TObject);
procedure actSaveAsUpdate(Sender: TObject);
procedure actRunUpdate(Sender: TObject);
procedure actDesignUpdate(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure actCopyUpdate(Sender: TObject);
procedure actCopyExecute(Sender: TObject);
procedure actCutUpdate(Sender: TObject);
procedure actCutExecute(Sender: TObject);
procedure actPasteUpdate(Sender: TObject);
procedure actPasteExecute(Sender: TObject);
procedure actPropsUpdate(Sender: TObject);
procedure actPropsExecute(Sender: TObject);
private
{ Private declarations }
FDocNum: Integer;
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
uses d_frmPropsUnit, d_frmDocFormUnit;
{$R *.dfm}
procedure TfrmMain.LMDDesignManager1Change(Sender: TObject);
begin
if (ActiveMDIChild <> nil) and (ActiveMDIChild is TfrmDocForm) then
(ActiveMDIChild as TfrmDocForm).Modified := True;
end;
procedure TfrmMain.LMDDesignManager1CurrentDesignerChange(Sender: TObject);
const
LModified: array[Boolean] of string = ('', 'Modified');
begin
if (ActiveMDIChild <> nil) and (ActiveMDIChild is TfrmDocForm) then
StatusBar1.SimpleText := ActiveMDIChild.Caption + ' ' +
LModified[(ActiveMDIChild as TfrmDocForm).Modified]
else
StatusBar1.SimpleText := 'No form';
end;
procedure TfrmMain.actNewExecute(Sender: TObject);
begin
with TfrmDocForm.Create(Application) do
begin
Inc(FDocNum);
Caption := 'Untitled' + IntToStr(FDocNum);
LMDDesignManager1.Designers.AddDesigner(LMDDesigner1).IsCurrent := True;
end;
end;
procedure TfrmMain.actOpenExecute(Sender: TObject);
begin
if OpenDialog1.Execute then
with TfrmDocForm.Create(Application) do
try
Load(OpenDialog1.FileName);
LMDDesignManager1.Designers.AddDesigner(LMDDesigner1).IsCurrent := True;
except
Free;
raise;
end;
end;
procedure TfrmMain.actSaveExecute(Sender: TObject);
begin
with (ActiveMDIChild as TfrmDocForm) do
begin
if FileName <> '' then
Save(FileName)
else
SaveAs;
end;
end;
procedure TfrmMain.actSaveAsExecute(Sender: TObject);
begin
(ActiveMDIChild as TfrmDocForm).SaveAs;
end;
procedure TfrmMain.actRunExecute(Sender: TObject);
begin
(ActiveMDIChild as TfrmDocForm).Run;
end;
procedure TfrmMain.actDesignExecute(Sender: TObject);
begin
(ActiveMDIChild as TfrmDocForm).Design;
end;
procedure TfrmMain.actSaveUpdate(Sender: TObject);
begin
actSave.Enabled := (ActiveMDIChild <> nil) and
(ActiveMDIChild is TfrmDocForm) and
((ActiveMDIChild as TfrmDocForm).Modified or
((ActiveMDIChild as TfrmDocForm).FileName = ''));
end;
procedure TfrmMain.actSaveAsUpdate(Sender: TObject);
begin
actSaveAs.Enabled := (ActiveMDIChild <> nil) and (ActiveMDIChild is TfrmDocForm);
end;
procedure TfrmMain.actRunUpdate(Sender: TObject);
begin
actRun.Enabled := (ActiveMDIChild <> nil) and
(ActiveMDIChild is TfrmDocForm) and
not (ActiveMDIChild as TfrmDocForm).IsInRunMode;
end;
procedure TfrmMain.actDesignUpdate(Sender: TObject);
begin
actDesign.Enabled := (ActiveMDIChild <> nil) and
(ActiveMDIChild is TfrmDocForm) and
(ActiveMDIChild as TfrmDocForm).IsInRunMode;
end;
procedure TfrmMain.Exit1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.actCopyUpdate(Sender: TObject);
begin
actCopy.Enabled := (ActiveMDIChild <> nil) and
(ActiveMDIChild is TfrmDocForm) and
(ActiveMDIChild as TfrmDocForm).LMDDesigner1.CanCopyToClipboard;
end;
procedure TfrmMain.actCopyExecute(Sender: TObject);
begin
(ActiveMDIChild as TfrmDocForm).LMDDesigner1.CopyToClipboard;
end;
procedure TfrmMain.actCutUpdate(Sender: TObject);
begin
actCut.Enabled := (ActiveMDIChild <> nil) and
(ActiveMDIChild is TfrmDocForm) and
(ActiveMDIChild as TfrmDocForm).LMDDesigner1.CanCutToClipboard;
end;
procedure TfrmMain.actCutExecute(Sender: TObject);
begin
(ActiveMDIChild as TfrmDocForm).LMDDesigner1.CutToClipboard;
end;
procedure TfrmMain.actPasteUpdate(Sender: TObject);
begin
actPaste.Enabled := (ActiveMDIChild <> nil) and
(ActiveMDIChild is TfrmDocForm) and
(ActiveMDIChild as TfrmDocForm).LMDDesigner1.CanPasteFromClipboard;
end;
procedure TfrmMain.actPasteExecute(Sender: TObject);
begin
(ActiveMDIChild as TfrmDocForm).LMDDesigner1.PasteFromClipboard;
end;
procedure TfrmMain.actPropsUpdate(Sender: TObject);
begin
actProps.Enabled := True;
actProps.Checked := frmProps.Visible;
end;
procedure TfrmMain.actPropsExecute(Sender: TObject);
begin
frmProps.Visible := not frmProps.Visible;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -