📄 ebarmdidemomain.pas
字号:
dxBarButtonBold.Down := fsBold in Style;
dxBarButtonItalic.Down := fsItalic in Style;
dxBarButtonUnderline.Down := fsUnderline in Style;
dxBarButtonBullets.Down := Boolean(Paragraph.Numbering);
case Ord(Paragraph.Alignment) of
0: dxBarButtonAlignLeft.Down := True;
1: dxBarButtonAlignRight.Down := True;
2: dxBarButtonCenter.Down := True;
end;
dxBarButtonProtected.Down := Protected;
finally
FUpdating := False;
dxBarComboFontSize.OnChange := dxBarComboFontSizeChange;
dxBarComboFontName.OnChange := dxBarComboFontNameChange;
dxBarComboFontColor.OnChange := dxBarComboFontColorChange;
end;
end;
end;
function TEBarMDIDemoMainForm.SaveFile(ASaveAs: Boolean): Boolean;
begin
if ASaveAs or (FileName = '') then
begin
SaveDialog.FileName := FileName;
Result := SaveDialog.Execute;
if not Result then Exit;
FileName := SaveDialog.FileName;
end;
Editor.Lines.SaveToFile(FileName);
dxStatusBar.Panels[1].Text := ActiveMDIChild.Caption;
SetModified(False);
Result := True;
end;
procedure TEBarMDIDemoMainForm.SetModified(Value: Boolean);
begin
Editor.Modified := Value;
if Value then
begin
dxStatusBar.Panels[2].Text := 'Modified';
TdxStatusBarTextPanelStyle(dxStatusBar.Panels[2].PanelStyle).ImageIndex := 1;
end
else
begin
dxStatusBar.Panels[2].Text := '';
TdxStatusBarTextPanelStyle(dxStatusBar.Panels[2].PanelStyle).ImageIndex := 4;
end;
dxBarButtonSave.Enabled := Value;
end;
procedure TEBarMDIDemoMainForm.ShowItems(AShow: Boolean);
var
AVisible: TdxBarItemVisible;
begin
BarManager.LockUpdate := True;
try
if not AShow then
begin
dxStatusBar.Panels[0].Text := '';
dxStatusBar.Panels[1].Text := '';
dxStatusBar.Panels[2].Text := '';
end;
BarManager.Groups[0].Enabled := AShow;
if AShow then AVisible := ivAlways
else AVisible := ivInCustomizing;
dxBarSubItemEdit.Visible := AVisible;
dxBarSubItemFormat.Visible := AVisible;
finally
BarManager.LockUpdate := False;
end;
TdxStatusBarTextPanelStyle(dxStatusBar.Panels[0].PanelStyle).ImageIndex := 5;
TdxStatusBarTextPanelStyle(dxStatusBar.Panels[1].PanelStyle).ImageIndex := 3;
TdxStatusBarTextPanelStyle(dxStatusBar.Panels[2].PanelStyle).ImageIndex := 4;
end;
procedure TEBarMDIDemoMainForm.FormCreate(Sender: TObject);
const
Filter = 'Rich Text Files (*.RTF)|*.RTF';
begin
dmCommonData.AboutFormClass := TEBarMDIDemoAboutForm;
OpenDialog.Filter := Filter;
SaveDialog.Filter := Filter;
OpenDialog.InitialDir := ExtractFilePath(ParamStr(0));
SaveDialog.InitialDir := OpenDialog.InitialDir;
ShowItems(False);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonNewClick(Sender: TObject);
begin
TEBarMDIDemoChildForm.Create(Application);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonOpenClick(Sender: TObject);
begin
OpenDialog.FileName := '';
if OpenDialog.Execute then
begin
with TEBarMDIDemoChildForm.Create(Application) do
begin
FileName := OpenDialog.FileName;
Editor.Lines.LoadFromFile(FileName);
SetModified(False);
end;
dxBarMRUFiles.RemoveItem(OpenDialog.FileName, nil);
end;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonCloseClick(Sender: TObject);
begin
ActiveMDIChild.Close;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonSaveClick(Sender: TObject);
begin
SaveFile(False);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonSaveAsClick(Sender: TObject);
begin
SaveFile(True);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonPrintClick(Sender: TObject);
begin
if PrintDialog.Execute then Editor.Print(FileName);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonExitClick(Sender: TObject);
begin
Close;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonUndoClick(Sender: TObject);
begin
SendMessage(Editor.Handle, EM_UNDO, 0, 0);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonCutClick(Sender: TObject);
begin
Editor.CutToClipboard;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonCopyClick(Sender: TObject);
begin
Editor.CopyToClipboard;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonPasteClick(Sender: TObject);
begin
Editor.PasteFromClipboard;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonClearClick(Sender: TObject);
begin
Editor.ClearSelection;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonSelectAllClick(Sender: TObject);
begin
Editor.SelectAll;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonFindClick(Sender: TObject);
begin
Editor.SelLength := 0;
FindDialog.Execute;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonReplaceClick(Sender: TObject);
begin
Editor.SelLength := 0;
ReplaceDialog.Execute;
end;
procedure TEBarMDIDemoMainForm.dxBarComboFontNameChange(Sender: TObject);
begin
if not FUpdating then
Editor.SelAttributes.Name := dxBarComboFontName.Text;
end;
procedure TEBarMDIDemoMainForm.dxBarComboFontSizeChange(Sender: TObject);
begin
if not FUpdating then
Editor.SelAttributes.Size := StrToInt(dxBarComboFontSize.Text);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonBoldClick(Sender: TObject);
begin
with Editor.SelAttributes do
if dxBarButtonBold.Down then
Style := Style + [fsBold]
else
Style := Style - [fsBold];
end;
procedure TEBarMDIDemoMainForm.dxBarButtonItalicClick(Sender: TObject);
begin
with Editor.SelAttributes do
if dxBarButtonItalic.Down then
Style := Style + [fsItalic]
else
Style := Style - [fsItalic];
end;
procedure TEBarMDIDemoMainForm.dxBarButtonUnderlineClick(Sender: TObject);
begin
with Editor.SelAttributes do
if dxBarButtonUnderline.Down then
Style := Style + [fsUnderline]
else
Style := Style - [fsUnderline];
end;
procedure TEBarMDIDemoMainForm.dxBarComboFontColorChange(Sender: TObject);
begin
Editor.SelAttributes.Color := dxBarComboFontColor.Color;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonBulletsClick(Sender: TObject);
begin
Editor.Paragraph.Numbering := TNumberingStyle(dxBarButtonBullets.Down);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonAlignClick(Sender: TObject);
begin
if TdxBarLargeButton(Sender).Down then
Editor.Paragraph.Alignment := TAlignment(TdxBarLargeButton(Sender).Tag)
else
Editor.Paragraph.Alignment := taLeftJustify;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonProtectedClick(Sender: TObject);
begin
with Editor.SelAttributes do Protected := not Protected;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonFontClick(Sender: TObject);
begin
FontDialog.Font.Assign(Editor.SelAttributes);
if FontDialog.Execute then
Editor.SelAttributes.Assign(FontDialog.Font);
end;
procedure TEBarMDIDemoMainForm.dxBarButtonArrangeAllClick(Sender: TObject);
begin
Tile;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonNextWindowClick(Sender: TObject);
begin
Next;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonPreviousWindowClick(Sender: TObject);
begin
Previous;
end;
procedure TEBarMDIDemoMainForm.dxBarListWindowsGetData(Sender: TObject);
begin
with dxBarListWindows do
ItemIndex := Items.IndexOfObject(ActiveMDIChild);
end;
procedure TEBarMDIDemoMainForm.dxBarListWindowsClick(Sender: TObject);
begin
with dxBarListWindows do
TCustomForm(Items.Objects[ItemIndex]).Show;
end;
procedure TEBarMDIDemoMainForm.dxBarMRUFilesClick(Sender: TObject);
var
AFileName: String;
begin
AFileName := dxBarMRUFiles.Items[dxBarMRUFiles.ItemIndex];
if FileExists(AFileName) then
with TEBarMDIDemoChildForm.Create(Application) do
begin
FileName := AFileName;
Editor.Lines.LoadFromFile(FileName);
SetModified(False);
end
else
Application.MessageBox(PChar(AFileName+#10#13+'File not found.'),'Open',MB_OK or MB_ICONERROR)
end;
procedure TEBarMDIDemoMainForm.dxBarButtonStdStyleClick(Sender: TObject);
begin
BarManager.Style := bmsStandard;
dxStatusBar.PaintStyle := stpsStandard;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonEnhancedStyleClick(Sender: TObject);
begin
BarManager.Style := bmsEnhanced;
dxStatusBar.PaintStyle := stpsStandard;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonFlatStyleClick(Sender: TObject);
begin
BarManager.Style := bmsFlat;
dxStatusBar.PaintStyle := stpsFlat;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonXPStyleClick(Sender: TObject);
begin
BarManager.Style := bmsXP;
dxStatusBar.PaintStyle := stpsXP;
end;
procedure TEBarMDIDemoMainForm.dxBarButtonOffice11StyleClick(Sender: TObject);
begin
BarManager.Style := bmsOffice11;
dxStatusBar.PaintStyle := stpsOffice11;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -