📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, ToolWin, abcmenu, AbcTCtls, AbcToolb, AbcTlbr,
ImgList, Menus, FormCont,mmSystem, teForm,DBCtrls, jpeg;
type
TMainform = class(TForm)
Panel1: TPanel;
Splitter1: TSplitter;
ImageList1: TImageList;
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
E1: TMenuItem;
S1: TMenuItem;
T1: TMenuItem;
W1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
abcDock1: TabcDock;
abcToolbar1: TabcToolbar;
abcToolbarButton1: TabcToolbarButton;
abcToolbarButton2: TabcToolbarButton;
abcToolbarButton3: TabcToolbarButton;
abcToolbarButton4: TabcToolbarButton;
abcToolbarSep1: TabcToolbarSep;
abcToolbarButton5: TabcToolbarButton;
MYFormcontainer1: TFormContainer;
abcToolbarButton6: TabcToolbarButton;
abcToolbarButton7: TabcToolbarButton;
abcToolbarButton8: TabcToolbarButton;
abcToolbarButton9: TabcToolbarButton;
abcToolbarSep2: TabcToolbarSep;
FormTransitions1: TFormTransitions;
procedure FormShow(Sender: TObject);
procedure Panel1DockOver(Sender: TObject; Source: TDragDockObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
procedure Panel1DockDrop(Sender: TObject; Source: TDragDockObject; X,
Y: Integer);
procedure Panel1UnDock(Sender: TObject; Client: TControl;
NewTarget: TWinControl; var Allow: Boolean);
procedure Panel1GetSiteInfo(Sender: TObject; DockClient: TControl;
var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean);
procedure abcToolbarButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure abcToolbarButton8Click(Sender: TObject);
procedure abcToolbarButton2Click(Sender: TObject);
procedure abcToolbarButton9Click(Sender: TObject);
procedure abcToolbarButton4Click(Sender: TObject);
procedure abcToolbarButton3Click(Sender: TObject);
procedure abcToolbarButton5Click(Sender: TObject);
private
{ Private declarations }
FCURRENTFORM:TFORM;
public
procedure ShowDockPanel(APanel: TPanel; MakeVisible: Boolean; Client: TControl);
procedure setcurrentform(AFormClass : TFormClass);
{ Public declarations }
end;
var
Mainform: TMainform;
Bitmap1: TBitmap;
menuwidth:integer;
implementation
uses unit2,teWipe,teBlend,TransEff;
{$R *.DFM}
procedure TMainform.setcurrentform(AFormClass : TFormClass);
var TransEffct: TTransitionEffect;
begin
if MYFormcontainer1.formcount<>0 then
begin
if MessageDlg('关闭当前在处理的数据吗?', mtWarning,[mbYes,mbNo], 0 ) = mrYes then
MYFormcontainer1.DestroyAllForms
else
abort;
end;
TransEffct := TBlendTransition.Create;
TransEffct.FlickerFreeWhenDisabled := True;
TransEffct.Milliseconds := 200;
try
FCurrentForm:=tForm(MYFormcontainer1.CreateForm(aFormclass));
//MYFormcontainer1.ShowFormex(FCurrentForm,True,TransEffct,nil,fcfanone);
MYFormcontainer1.ShowFormex(FCurrentForm,True,TransEffct,nil,fcfaclient);
finally
TransEffct.Free;
end;
end;
procedure TMainform.ShowDockPanel(APanel: TPanel; MakeVisible: Boolean; Client: TControl);
begin
if not MakeVisible and (APanel.VisibleDockClientCount > 1) then
Exit;
if APanel = Panel1 then
Splitter1.Visible := MakeVisible;
if MakeVisible then
if APanel = Panel1 then
begin
APanel.Width :=90;
Splitter1.Left := APanel.Width + Splitter1.Width;
end
else begin
APanel.Height := ClientHeight div 5;
end
else
if APanel = Panel1 then
// APanel.visible:=false
APanel.Width := 0
else
// APanel.visible:=false;
APanel.Height := 0;
if MakeVisible and (Client <> nil) then Client.Show;
end;
procedure TMainform.FormShow(Sender: TObject);
begin
menuform.panel1.borderwidth:=1;
menuform.show;
end;
procedure TMainform.Panel1DockOver(Sender: TObject; Source: TDragDockObject;
X, Y: Integer; State: TDragState; var Accept: Boolean);
var
ARect: TRect;
begin
// Accept := Source.Control is TForm;
Accept :=true;
if Accept then
begin
//Modify the DockRect to preview dock area.
ARect.TopLeft := Panel1.ClientToScreen(Point(0, 0));
ARect.BottomRight := Panel1.ClientToScreen(
Point(80, Panel1.Height));
// Point(PANEL1.Width, Panel1.Height));
Source.DockRect := ARect;
end;
end;
procedure TMainform.Panel1DockDrop(Sender: TObject; Source: TDragDockObject;
X, Y: Integer);
begin
if (Sender as TPanel).DockClientCount = 1 then
ShowDockPanel(Sender as TPanel, True, nil);
menuform.Panel1.borderwidth:=1;
(Sender as TPanel).DockManager.ResetBounds(True);
end;
procedure TMainform.Panel1UnDock(Sender: TObject; Client: TControl;
NewTarget: TWinControl; var Allow: Boolean);
begin
if (Sender as TPanel).DockClientCount = 1 then
ShowDockPanel(Sender as TPanel, False, nil);
menuform.Panel1.borderwidth:=5;
end;
procedure TMainform.Panel1GetSiteInfo(Sender: TObject; DockClient: TControl;
var InfluenceRect: TRect; MousePos: TPoint; var CanDock: Boolean);
begin
//CanDock := DockClient is TForm;
end;
procedure TMainform.abcToolbarButton1Click(Sender: TObject);
begin
if MessageDlg('退出系统吗?', mtWarning,[mbYes,mbNo], 0 ) = mrYes then
mainform.close;
end;
procedure TMainform.FormCreate(Sender: TObject);
var
TransEffct:TBlendTransition;
begin
DateSeparator :='-';
ShortDateFormat:='yyyy-mm-dd';
TwoDigitYearCenturyWindow:=70;
TransEffct := TBlendTransition.Create;
TransEffct.FlickerFreeWhenDisabled := True;
TransEffct.Milliseconds :=400;
FormTransitions1.ShowTransition := TransEffct;
menuwidth:=panel1.width;
end;
procedure TMainform.abcToolbarButton8Click(Sender: TObject);
begin
if panel1.width=1 then
begin
Splitter1.width:=4;
Splitter1.visible:=true;
panel1.width:=90;
end
else
begin
panel1.width:=1;
Splitter1.width:=1;
Splitter1.visible:=false;
end;
end;
procedure TMainform.abcToolbarButton2Click(Sender: TObject);
begin
SendMessage(GetFocus,WM_PASTE,0,0);
end;
procedure TMainform.abcToolbarButton9Click(Sender: TObject);
begin
SendMessage(GetFocus,WM_UNDO,0,0);
end;
procedure TMainform.abcToolbarButton4Click(Sender: TObject);
begin
SendMessage(GetFocus,WM_COPY,0,0);
end;
procedure TMainform.abcToolbarButton3Click(Sender: TObject);
begin
SendMessage(GetFocus,WM_CUT,0,0);
end;
procedure TMainform.abcToolbarButton5Click(Sender: TObject);
var
HWndCalculator : HWnd;
begin
HWndCalculator := FindWindow(nil,'计算器'); // close the exist Calculator
if HWndCalculator <> 0 then
SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
WinExec('calc.exe',SW_SHOWNORMAL);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -