📄 wpmdiu1.pas
字号:
unit WPMDIU1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, wpDefActions, WPCtrMemo, WPCtrRich, ComCtrls, ToolWin, StdCtrls,
WPTbar, WPPanel, ExtCtrls, WPAction, Menus, WPRTEDefs, jpeg;
type
TWPMdiDemo = class(TForm)
ControlBar1: TControlBar;
WPDefaultActions1: TWPDefaultActions;
WPComboBox1: TWPComboBox;
WPComboBox2: TWPComboBox;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
procedure WPDefaultActions1New(Sender: TObject;
ActionModule: TWPDefAct; WPRichText: TWPCustomRichText);
procedure WPDefaultActions1Init(ActionModule: TWPDefAct);
procedure FormCreate(Sender: TObject);
procedure WPDefaultActions1Load(Sender: TObject;
ActionModule: TWPDefAct; WPRichText: TWPCustomRichText);
procedure WPDefaultActions1Close(Sender: TObject;
ActionModule: TWPDefAct; WPRichText: TWPCustomRichText);
procedure FormPaint(Sender: TObject);
public
AWindowMenu : TMenuItem;
procedure OnWTile(Sender : TObject);
procedure OnWCascade(Sender : TObject);
end;
var
WPMdiDemo: TWPMdiDemo;
implementation
uses WPMdiU2, ActnList;
{$R *.dfm}
procedure TWPMdiDemo.FormPaint(Sender: TObject);
begin
WPGradientFill(Canvas.Handle, ClientRect, $F0F0EA, $707060, false);
end;
procedure TWPMdiDemo.FormCreate(Sender: TObject);
var
AWindowMenuPar : TMenuItem;
begin
AWindowMenuPar := TMenuItem.Create(Menu);
AWindowMenuPar.Caption := 'Windows';
Menu.Items[6].Visible := FALSE; // no reporting !
Menu.Items.Insert(6, AWindowMenuPar);
// Tile
AWindowMenu := TMenuItem.Create(AWindowMenuPar);
AWindowMenu.Caption := 'Tile';
AWindowMenu.OnClick := OnWTile;
AWindowMenuPar.Add(AWindowMenu);
AWindowMenu := TMenuItem.Create(AWindowMenuPar);
AWindowMenu.Caption := 'Cascade';
AWindowMenu.OnClick := OnWCascade;
AWindowMenuPar.Add(AWindowMenu);
// A window menu always requires at least one entry
AWindowMenu := TMenuItem.Create(AWindowMenuPar);
AWindowMenu.Caption := '-';
AWindowMenuPar.Add(AWindowMenu);
// Set the window menu
WindowMenu := AWindowMenuPar;
end;
procedure TWPMdiDemo.OnWTile(Sender : TObject);
begin
Tile;
end;
procedure TWPMdiDemo.OnWCascade(Sender : TObject);
begin
Cascade;
end;
procedure TWPMdiDemo.WPDefaultActions1New(Sender: TObject;
ActionModule: TWPDefAct; WPRichText: TWPCustomRichText);
begin
With TWPMdiChild.Create(Self) do
begin
Show;
end;
end;
procedure TWPMdiDemo.WPDefaultActions1Load(Sender: TObject;
ActionModule: TWPDefAct; WPRichText: TWPCustomRichText);
begin
With TWPMdiChild.Create(Self) do
begin
Show;
if not WPRichText1.Load then Close;
end;
end;
procedure TWPMdiDemo.WPDefaultActions1Init(ActionModule: TWPDefAct);
var act : TWPToolsCustomEditContolAction;
begin
act := TWPToolsCustomEditContolAction.Create(ActionModule.StdActions);
act.ActionList := ActionModule.StdActions;
act.AttachedControl := WPComboBox1;
act := TWPToolsCustomEditContolAction.Create(ActionModule.StdActions);
act.ActionList := ActionModule.StdActions;
act.AttachedControl := WPComboBox2;
ToolBar1.Images := ActionModule.StdIcons;
ToolButton1.Action := ActionModule.WPABold1;
ToolButton2.Action := ActionModule.WPAItalic1;
ToolButton3.Action := ActionModule.WPAUnderline1;
// Disable all except for NEW, INFO and and LOAD
ActionModule.StdActions.OnUpdate := ActionModule.MDIActionsUpdate;
end;
procedure TWPMdiDemo.WPDefaultActions1Close(Sender: TObject;
ActionModule: TWPDefAct; WPRichText: TWPCustomRichText);
var i : Integer;
canclose : Boolean;
begin
canclose := TRUE;
for i:=MDIChildCount-1 downto 0 do
if MDIChildren[i] is TWPMdiChild then
begin
TWPMdiChild(MDIChildren[i]).BringToFront;
if TWPMdiChild(MDIChildren[i]).WPRichText1.CanClose then
TWPMdiChild(MDIChildren[i]).Close
else canclose := FALSE;
end;
if canclose then Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -