📄 d_lmddesigner0.pas
字号:
unit d_LMDDesigner0;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ImgList, Menus, ExtCtrls,
ColorGrd, ComCtrls, LmdDsgDesigner, LMDDsgClass;
type
TForm1 = class(TForm)
LMDDesigner1: TLMDDesigner;
Button1: TButton;
Button2: TButton;
PopupMenu1: TPopupMenu;
Delete1: TMenuItem;
N1: TMenuItem;
SetVisibletoTrue1: TMenuItem;
SetVisibletoFalse1: TMenuItem;
N2: TMenuItem;
Nodelete1: TMenuItem;
NoMove1: TMenuItem;
Noresize1: TMenuItem;
Aligntogrid1: TMenuItem;
Noinsertin1: TMenuItem;
Nocopy1: TMenuItem;
N3: TMenuItem;
Copy1: TMenuItem;
Cut1: TMenuItem;
Paste1: TMenuItem;
Memo1: TMemo;
Label3: TLabel;
lmCustom11: TMenuItem;
lmCustom21: TMenuItem;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
Button5: TButton;
CheckBox10: TCheckBox;
SetEnabledtoTrue1: TMenuItem;
SetEnabledtoFalse1: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
ImageList1: TImageList;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label1: TLabel;
Label2: TLabel;
CheckBox2: TCheckBox;
ColorGrid2: TColorGrid;
CheckBox1: TCheckBox;
UpDown2: TUpDown;
UpDown1: TUpDown;
GroupBox2: TGroupBox;
Memo2: TMemo;
Button3: TButton;
Button4: TButton;
TabSheet2: TTabSheet;
GroupBox4: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
TabSheet3: TTabSheet;
GroupBox3: TGroupBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
Edit1: TEdit;
TabSheet4: TTabSheet;
GroupBox5: TGroupBox;
Button6: TButton;
Button7: TButton;
TabSheet5: TTabSheet;
GroupBox7: TGroupBox;
Panel1: TPanel;
CheckBox11: TCheckBox;
Label4: TLabel;
TabSheet6: TTabSheet;
Label5: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
TabSheet7: TTabSheet;
GroupBox6: TGroupBox;
Label13: TLabel;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
CheckBox14: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Delete1Click(Sender: TObject);
procedure SetVisibletoTrue1Click(Sender: TObject);
procedure SetVisibletoFalse1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure ColorGrid2Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure LMDDesigner1ChangeSelection(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
procedure LMDDesigner1ControlHint(Sender: TObject; AControl: TControl;
var AHint: String);
procedure Button4Click(Sender: TObject);
procedure PopupMenu1Popup(Sender: TObject);
procedure Nodelete1Click(Sender: TObject);
procedure NoMove1Click(Sender: TObject);
procedure Noresize1Click(Sender: TObject);
procedure Aligntogrid1Click(Sender: TObject);
procedure Noinsertin1Click(Sender: TObject);
procedure Nocopy1Click(Sender: TObject);
procedure Copy1Click(Sender: TObject);
procedure Cut1Click(Sender: TObject);
procedure Paste1Click(Sender: TObject);
procedure LMDDesigner1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure LMDDesigner1Change(Sender: TObject);
procedure LMDDesigner1Notification(Sender: TObject;
AnObject: TPersistent; Operation: TOperation);
procedure LMDDesigner1ValidateName(Sender: TObject; const AName: String;
var AIsValidName: Boolean);
procedure LMDDesigner1GetUniqueName(Sender: TObject;
const ABaseName: String; var AUniqueName: String);
procedure LMDDesigner1DblClick(Sender: TObject);
procedure lmCustom11Click(Sender: TObject);
procedure lmCustom21Click(Sender: TObject);
procedure LMDDesigner1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure LMDDesigner1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure LMDDesigner1KeyPress(Sender: TObject; var Key: Char);
procedure LMDDesigner1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure LMDDesigner1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure LMDDesigner1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure LMDDesigner1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure LMDDesigner1MouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure LMDDesigner1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure LMDDesigner1MouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure Button5Click(Sender: TObject);
procedure SetEnabledtoTrue1Click(Sender: TObject);
procedure SetEnabledtoFalse1Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure LMDDesigner1ComponentHint(Sender: TObject;
AComponent: TComponent; var AHint: String);
procedure LMDDesigner1ComponentInserted(Sender: TObject);
procedure LMDDesigner1ComponentInserting(Sender: TObject;
var AComponentClass: TComponentClass);
procedure CheckBox11Click(Sender: TObject);
procedure LMDDesigner1GetImageIndex(Sender: TObject;
AComponentClass: TComponentClass; var AImageIndex: Integer);
procedure FormCreate(Sender: TObject);
procedure CheckBox12Click(Sender: TObject);
procedure CheckBox13Click(Sender: TObject);
procedure CheckBox14Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
TMyPanel = class(TPanel)
public
constructor Create(AOwner: TComponent); override;
end;
var
Form1: TForm1;
implementation
uses d_LMDDesigner1;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
LStream: TMemoryStream;
begin
if not LMDDesigner1.Active then
begin
if CheckBox10.Checked then
begin
LStream := TMemoryStream.Create;
try
LStream.WriteComponent(Form2);
Form2.DestroyComponents;
LMDDesigner1.DesignControl := Form2;
LMDDesigner1.Active := True;
LStream.Seek(0, soFromBeginning);
LStream.ReadComponent(Form2);
Form2.Name := 'Form2';
finally
LStream.Free;
end;
end
else
begin
LMDDesigner1.DesignControl := Form2;
LMDDesigner1.Active := True;
end;
LMDDesigner1.ShowNonvisualComponents := CheckBox11.Checked;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
LStream: TMemoryStream;
begin
if LMDDesigner1.Active then
begin
if CheckBox10.Checked then
begin
LStream := TMemoryStream.Create;
try
LStream.WriteComponent(Form2);
Form2.DestroyComponents;
LMDDesigner1.Active := False;
LStream.Seek(0, soFromBeginning);
LStream.ReadComponent(Form2);
Form2.Name := 'Form2';
finally
LStream.Free;
end;
end
else
LMDDesigner1.Active := False;
end;
end;
procedure TForm1.Delete1Click(Sender: TObject);
begin
LMDDesigner1.DeleteSelectedComponents;
end;
procedure TForm1.SetVisibletoTrue1Click(Sender: TObject);
var
LI: Integer;
begin
for LI := 0 to LMDDesigner1.SelectedComponents.Count - 1 do
if LMDDesigner1.SelectedComponents[LI] is TControl then
TControl(LMDDesigner1.SelectedComponents[LI]).Visible := True;
end;
procedure TForm1.SetVisibletoFalse1Click(Sender: TObject);
var
LI: Integer;
begin
for LI := 0 to LMDDesigner1.SelectedComponents.Count - 1 do
if LMDDesigner1.SelectedComponents[LI] is TControl then
TControl(LMDDesigner1.SelectedComponents[LI]).Visible := False;
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
LMDDesigner1.Grid.Visible := CheckBox2.Checked;
end;
procedure TForm1.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
Label1.Caption := IntToStr(UpDown2.Position);
LMDDesigner1.Grid.XStep := UpDown2.Position;
end;
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
Label2.Caption := IntToStr(UpDown1.Position);
LMDDesigner1.Grid.YStep := UpDown1.Position;
end;
procedure TForm1.ColorGrid2Change(Sender: TObject);
begin
LMDDesigner1.Grid.Color := ColorGrid2.ForegroundColor;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
LMDDesigner1.SnapToGrid := CheckBox1.Checked;
end;
procedure TForm1.LMDDesigner1ChangeSelection(Sender: TObject);
var
LI: Integer;
begin
Memo2.Lines.BeginUpdate;
Memo2.Lines.Clear;
for LI := 0 to LMDDesigner1.SelectedComponents.Count - 1 do
Memo2.Lines.Add(
LMDDesigner1.SelectedComponents[LI].Name + ': ' +
LMDDesigner1.SelectedComponents[LI].ClassName
);
Memo2.Lines.EndUpdate;
Memo1.Lines.Add('OnChangeSelection');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if LMDDesigner1.Active then
LMDDesigner1.SelectedComponents.Clear;
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
if CheckBox3.Checked then
LMDDesigner1.Hints := LMdDesigner1.Hints + [dhComponent]
else
LMDDesigner1.Hints := LMDDesigner1.Hints - [dhComponent];
end;
procedure TForm1.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked then
LMDDesigner1.Hints := LMDDesigner1.Hints + [dhSize]
else
LMdDesigner1.Hints := LMDDesigner1.Hints - [dhSize];
end;
procedure TForm1.CheckBox5Click(Sender: TObject);
begin
if CheckBox5.Checked then
LMDDesigner1.Hints := LMDDesigner1.Hints + [dhMove]
else
LMDDesigner1.Hints := LMDDesigner1.Hints - [dhMove];
end;
procedure TForm1.CheckBox6Click(Sender: TObject);
begin
if CheckBox6.Checked then
LMDDesigner1.Hints := LMDDesigner1.Hints + [dhInsert]
else
LMDDesigner1.Hints := LMDDesigner1.Hints - [dhInsert];
end;
procedure TForm1.CheckBox7Click(Sender: TObject);
begin
Edit1.Enabled := CheckBox7.Checked;
end;
procedure TForm1.LMDDesigner1ControlHint(Sender: TObject;
AControl: TControl; var AHint: String);
begin
end;
{ TMyPanel }
constructor TMyPanel.Create(AOwner: TComponent);
begin
inherited;
Color := clRed;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if LMDDesigner1.Active then
LMDDesigner1.SelectAll;
end;
procedure TForm1.PopupMenu1Popup(Sender: TObject);
var
LLockMode: TLMDDesignerLockMode;
begin
Nodelete1.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
Nomove1.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
Noresize1.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
Noinsertin1.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
Nocopy1.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
lmCustom11.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
lmCustom21.Enabled := (LMDDesigner1.SelectedComponents.Count = 1);
if LMDDesigner1.SelectedComponents.Count = 1 then
begin
LLockMode := LMDDesigner1.GetLockMode(LMDDesigner1.SelectedComponents[0]);
Nodelete1.Checked := lmNoDelete in LLockMode;
Nomove1.Checked := lmNoMove in LLockMode;
Noresize1.Checked := lmNoResize in LLockMode;
Noinsertin1.Checked := lmNoInsertIn in LLockMode;
NoCopy1.Checked := lmNoCopy in LLockMode;
lmCustom11.Checked := lmCustom1 in LLockMode;
lmCustom21.Checked := lmCustom2 in LLockMode;
end
else
begin
Nodelete1.Checked := False;
Nomove1.Checked := False;
Noresize1.Checked := False;
Noinsertin1.Checked := False;
NoCopy1.Checked := False;
lmCustom11.Checked := False;
lmCustom21.Checked := False;
end;
Copy1.Enabled := LMDDesigner1.CanCopyToClipboard;
Cut1.Enabled := LMDDesigner1.CanCutToClipboard;
Paste1.Enabled := LMDDesigner1.CanPasteFromClipboard;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -