📄 inplaceeditorsdemomain.pas
字号:
begin
AFrameManager.AddFrame(TfrmValueEditors.Create(Self), Ord(bfcValueEditors));
AFrameManager.AddFrame(TfrmMultiLineTextEditors.Create(Self), Ord(bfcMultilineTextEditors));
AFrameManager.AddFrame(TfrmTextEditors.Create(Self), Ord(bfcTextEditors));
AFrameManager.AddFrame(TfrmImageEditors.Create(Self), Ord(bfcImageEditors));
AFrameManager.AddFrame(TfrmComboBoxes.Create(Self), Ord(bfcComboBoxes));
AFrameManager.AddFrame(TfrmCheckBoxes.Create(Self), Ord(bfcCheckBoxes));
AFrameManager.AddFrame(TEditorDemoBaseFrame.Create(Self), Ord(bfcStyles));
AFrameManager.AddFrame(TEditorDemoBaseFrame.Create(Self), Ord(bfcRibbonOptions));
end;
procedure TfrmMain.UpdateCheckBoxesView;
begin
TfrmCheckBoxes(AFrameManager[Ord(bfcCheckBoxes)]).SetParameters(rgSelectColor.EditValue, chgSelectColor.EditValue, chbMonochrome.EditValue);
end;
procedure TfrmMain.UpdateComboBoxesView;
var
AImage: TBitmap;
begin
AImage := TBitmap.Create;
try
ilSmall.GetImage(imcImages.EditValue, AImage);
TfrmComboBoxes(AFrameManager[Ord(bfcComboBoxes)]).SetParameters(clcFontColor.EditValue, fncPathFontName.EditValue,
scbSelectPath.EditValue, tblContacts.FieldByName('FullName').AsString, cbFontSize.EditValue, AImage);
finally
AImage.Free;
end;
end;
procedure TfrmMain.UpdateImageEditorsView;
var
AStream: TStringStream;
begin
if edtImage.EditValue = Null then
AStream := nil
else
AStream := TStringStream.Create(edtImage.EditValue);
try
TfrmImageEditors(AFrameManager.Frames[Ord(bfcImageEditors)]).SetParameters(AStream);
finally
AStream.Free;
end;
end;
procedure TfrmMain.UpdateMultilineTextEditorsView;
var
AStream: TStringStream;
begin
AStream := TStringStream.Create(edtBlob.EditValue);
try
TfrmMultiLineTextEditors(AFrameManager.Frames[Ord(bfcMultilineTextEditors)]).SetParameters(nil, AStream);
finally
AStream.Free;
end;
end;
procedure TfrmMain.UpdateValueEditorsView;
function GetFontSize: Integer;
begin
Result := prbFontSize.EditValue;
end;
function GetDate: string;
begin
if edtDate.EditValue <> Null then
Result := edtDate.EditValue
else
Result := '';
end;
function GetTime: string;
begin
Result := edtTime.EditValue;
end;
function GetMoney: Currency;
begin
if edtMoney.EditValue <> Null then
Result := edtMoney.EditValue
else
Result := 0;
end;
begin
TfrmValueEditors(AFrameManager.Frames[Ord(bfcValueEditors)]).SetParameters(GetFontSize, GetDate, GetTime, GetMoney);
end;
procedure TfrmMain.UpdateTextEditView;
begin
TfrmTextEditors(AFrameManager[Ord(bfcTextEditors)]).SetParameters(edtCompanyName.EditValue, edtSite.EditValue, mePhoneNum.EditValue);
end;
procedure TfrmMain.cbSelectEditTypeChange(Sender: TObject);
var
AIndex: Integer;
APropertiesClass: TcxCustomEditPropertiesClass;
AItem: TcxBarEditItem;
begin
AIndex := TcxComboBoxProperties(cbSelectEditType.Properties).Items.IndexOf(cbSelectEditType.EditValue);
APropertiesClass := TcxCustomEditPropertiesClass(GetRegisteredEditProperties.Items[AIndex]);
for AIndex := 0 to BarManager.ItemCount - 1 do
if BarManager.Items[AIndex] is TcxBarEditItem then
begin
AItem := TcxBarEditItem(BarManager.Items[AIndex]);
if (AItem.Category in [1..DemoTabsCount]) and
(AItem.Properties.ClassType = APropertiesClass) then
begin
edtPreviewItem.EditValue := Null;
edtPreviewItem.PropertiesClass := APropertiesClass;
edtPreviewItem.Properties.Assign(AItem.Properties);
edtPreviewItem.EditValue := AItem.EditValue;
edtPreviewItem.Caption := cbSelectEditType.EditValue;
end;
end;
end;
procedure TfrmMain.cbStyleChange(Sender: TObject);
begin
SetEditorStyle('Style', cbStyle);
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
tblContacts.Close;
end;
procedure TfrmMain.UpdateActionsImages;
begin
btnDockingHelp.ImageIndex := 18;
btnBarsHelp.ImageIndex := 18;
btnDXOnTheWeb.ImageIndex := 20;
btnMyDX.ImageIndex := 20;
btnDownloads.ImageIndex := 20;
btnProducts.ImageIndex := 20;
btnSupport.ImageIndex := 21;
btnRateDemo.ImageIndex := 22;
btnAbout.LargeImageIndex := 19;
btnAbout.ImageIndex := 19;
end;
procedure TfrmMain.cbRibbonFontChange(Sender: TObject);
begin
SynchronizeRibbonFontEditors;
end;
procedure TfrmMain.ccbAssignedRibbonFontsChange(Sender: TObject);
var
I: Integer;
AValue: string;
AFonts: TdxRibbonAssignedFonts;
begin
if not FUpdateLock then
begin
AValue := ccbAssignedRibbonFonts.EditValue;
AFonts := FRibbon.Fonts.AssignedFonts;
for I := 1 to TcxCheckComboBoxProperties(ccbAssignedRibbonFonts.Properties).Items.Count do
if AValue[I] = '1' then
Include(AFonts, TdxRibbonAssignedFont(I - 1))
else
Exclude(AFonts, TdxRibbonAssignedFont(I - 1));
FRibbon.Fonts.AssignedFonts := AFonts;
SynchronizeRibbonFontEditors;
end;
end;
procedure TfrmMain.btnRibbonStyleClick(Sender: TObject);
begin
if btnRibbonStyle.Down then
begin
BarManager.BeginUpdate;
try
tlbMainMenu.Visible := False;
FRibbon.BarManager := BarManager;
FRibbon.SupportNonClientDrawing := True;
ShowAllDemoToolbars(True);
FRibbon.Visible := True;
tlbRibbonOptions.Visible := True;
tlbHelp.Visible := True;
FRibbon.Tabs[0].Active := True;
lblDemoDescription.Align := alBottom;
TcxCheckGroupProperties(chgSelectColor.Properties).Columns := 3;
TcxRadioGroupProperties(rgSelectColor.Properties).Columns := 3;
SelectTab(1);
finally
BarManager.EndUpdate;
end;
end
else
begin
BarManager.BeginUpdate;
try
FRibbon.Visible := False;
tlbRibbonOptions.Visible := False;
tlbHelp.Visible := False;
FRibbon.SupportNonClientDrawing := False;
FRibbon.BarManager := nil;
btnValueEdits.Down := True;
ShowAllDemoToolbars(False);
tlbMainMenu.Visible := True;
TcxCheckGroupProperties(chgSelectColor.Properties).Columns := 1;
TcxRadioGroupProperties(rgSelectColor.Properties).Columns := 1;
SelectNonRibbonTab(1);
finally
BarManager.EndUpdate;
end;
lblDemoDescription.Align := alTop;
end;
end;
procedure TfrmMain.seFontSizeChange(Sender: TObject);
begin
if not FUpdateLock then
begin
SynchronizeValueEditors(TcxBarEditItem(Sender).EditValue);
UpdateValueEditorsView;
end;
end;
procedure TfrmMain.edtCompanyNameChange(Sender: TObject);
begin
if not FUpdateLock then
begin
SynchronizeTextEditors(TcxBarEditItem(Sender).EditValue);
UpdateTextEditView;
end;
end;
procedure TfrmMain.edtMoneyChange(Sender: TObject);
begin
if not FUpdateLock then
begin
SynchronizeCalcValueEditors(TcxBarEditItem(Sender).EditValue);
UpdateValueEditorsView;
end;
end;
procedure TfrmMain.InitializeComboBoxes;
begin
scbSelectPath.EditValue := GetCurrentDir;
clcFontColor.EditValue := clWindow;
AFrameManager[Ord(bfcComboBoxes)].SetDescription(SToolBarDescription);
end;
procedure TfrmMain.InitializeCheckBoxes;
begin
chbMonochrome.EditValue := False;
AFrameManager[Ord(bfcCheckBoxes)].SetDescription(SCheckBoxesDescription);
end;
procedure TfrmMain.InitializeImageEditors;
begin
SynchronizeImageEditors(edtImage.EditValue);
UpdateImageEditorsView;
AFrameManager[Ord(bfcImageEditors)].SetDescription(SImageEditDescription);
end;
procedure TfrmMain.InitializeMultilineTextEditors;
procedure ReadTextFile(AEditor: TcxBarEditItem; AFileName: string);
var
AList: TStringList;
begin
AList := TStringList.Create;
try
if FileExists(AFileName) then
begin
AList.LoadFromFile(AFileName);
AEditor.EditValue := AList.Text;
end
else
ShowMessage(Format(SFileFindError, [AFileName]));
finally
AList.Free;
end;
end;
begin
ReadTextFile(reRich, 'EditorCategories.rtf');
SynchronizeMultilineTextEditors(memPopup.Lines.Text);
UpdateMultilineTextEditorsView;
AFrameManager[Ord(bfcMultilineTextEditors)].SetDescription(SMultiLineTextEdits);
end;
procedure TfrmMain.InitializeTextEditors;
begin
edtCompanyName.EditValue := 'Developer Express Inc.';
AFrameManager[Ord(bfcTextEditors)].SetDescription(SToolBarDescription);
end;
procedure TfrmMain.InitializeValueEditors;
begin
edtTime.EditValue := Time;
edtDate.EditValue := Date;
AFrameManager[Ord(bfcValueEditors)].SetDescription(SToolBarDescription);
end;
procedure TfrmMain.InitializeEditorStyles;
procedure InitializeStylesCombo(ABarEditItem: TcxBarEditItem; AStyles: TStrings);
begin
TcxComboBoxProperties(ABarEditItem.Properties).Items.AddStrings(AStyles);
ABarEditItem.EditValue := TcxComboBoxProperties(ABarEditItem.Properties).Items[0];
end;
var
I: Integer;
AStyles: TStringList;
AItems: TStrings;
begin
AItems := TcxComboBoxProperties(cbSelectEditType.Properties).Items;
AItems.BeginUpdate;
try
for I := 0 to GetRegisteredEditProperties.Count - 1 do
AItems.Add(GetRegisteredEditProperties.Descriptions[I]);
finally
AItems.EndUpdate;
end;
AStyles := TStringList.Create;
try
for I := 0 to cxStyleRepository1.Count - 1 do
AStyles.Add(cxStyleRepository1.Items[I].Name);
InitializeStylesCombo(cbStyle, AStyles);
InitializeStylesCombo(cbStyleEdit, AStyles);
finally
AStyles.Free;
end;
cbSelectEditType.EditValue := 'TextEdit';
AFrameManager[Ord(bfcStyles)].SetDescription(SEditorStyles);
end;
procedure TfrmMain.InitializeRibbon;
function AddTab(AToolBar: TdxBar): TdxRibbonTab;
begin
Result := FRibbon.Tabs.Add;
Result.Caption := TabCaptions[FRibbon.Tabs.Count - 1];
Result.Tag := AToolBar.Tag;
end;
procedure AddToolBar(AToolBar: TdxBar);
begin
AddTab(AToolBar).AddToolBar(AToolBar);
end;
procedure AddDemoToolBars;
var
I: Integer;
begin
for I := 0 to DemoTabsCount - 1 do
AddTab(BarManager.Bars[I]);
for I := 0 to BarManager.Bars.Count - 1 do
if BarManager.Bars[I].Tag in [1..DemoTabsCount] then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -