📄 inplaceeditorsdemomain.pas
字号:
unit InPlaceEditorsDemoMain;
{$I ..\cxVer.inc}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
{$IFDEF DELPHI6}
Variants,
{$ENDIF}
Dialogs, StdCtrls, ExtCtrls, cxClasses, cxControls, cxGraphics, cxStyles, dxBar,
dxBarExtItems, cxBarEditItem, dxRibbon, dxRibbonForm, cxEdit,
cxShellComboBox, cxDropDownEdit, cxBlobEdit, cxRadioGroup, cxCheckBox, cxLabel, cxTextEdit,
cxColorComboBox, cxImageComboBox, cxFontNameComboBox, cxCheckComboBox, cxSpinEdit, cxProgressBar,
cxTrackBar, cxTimeEdit, cxCalendar, cxCheckGroup, cxCurrencyEdit, cxCalc, cxMemo, cxRichEdit,
cxButtonEdit, cxHyperLinkEdit, cxMaskEdit, cxImage, cxDBLookupComboBox, cxMRUEdit, Db, DBTables, EBarsUtils,
ImgList;
const
DemoTabsCount = 6;
RibbonTabsCount = 9;
TabCaptions: array [0..RibbonTabsCount - 1] of string = ('Value Editors ', 'Multi-line Text Editors', 'Text Editors',
'Image Editors', 'Combo Boxes', 'Check Boxes & Groups', 'Styles', 'Ribbon options', 'Help');
SToolBarDescription = 'Edit values using bar editors and see the results below';
SDemoDescription = 'This demo illustrates the use of thirty different in-place editors from the ExpressEditors' +
' Library. The ExpressEditors Library is not a part of ExpressBars v6 and must be' +
' purchased separately. Select Help | About for more information.';
SRibbonOptionsDescription = 'Use these options to customize Ribbon control appearance settings and toggle the Ribbon UI on/off.';
SEditorStyles = 'Choose an in-place editor to be displayed by a TcxBarEdit item and apply different styles to the item''s caption and editor.';
SImageEditDescription = 'Load images in bar editors and see the results below';
SCheckBoxesDescription = SToolBarDescription;
SMultiLineTextEdits = SToolBarDescription;
SFileFindError = 'File %s not found';
type
TcxBaseFrameCategory = (bfcValueEditors, bfcMultilineTextEditors, bfcTextEditors,
bfcImageEditors, bfcComboBoxes, bfcCheckBoxes, bfcStyles, bfcRibbonOptions);
TfrmMain = class(TdxCustomRibbonForm)
BarManager: TdxBarManager;
lblSelectEditorsBarHeader: TdxBarStatic;
btnEditorStyles: TdxBarButton;
btnTextEdit: TdxBarButton;
btnMultilineTextEdits: TdxBarButton;
btnValueEdits: TdxBarButton;
tlbValueEdits: TdxBar;
tlbMultilineTextEdits: TdxBar;
tlbTextEdits: TdxBar;
tlbEditorStyles: TdxBar;
cbStyle: TcxBarEditItem;
cbStyleEdit: TcxBarEditItem;
cbSelectEditType: TcxBarEditItem;
edtPreviewItem: TcxBarEditItem;
cxStyleRepository1: TcxStyleRepository;
Standard: TcxStyle;
Italicized: TcxStyle;
Colored: TcxStyle;
Panel2: TPanel;
tlbRibbonOptions: TdxBar;
fncRibbonFontName: TcxBarEditItem;
cbRibbonFont: TcxBarEditItem;
ccbAssignedRibbonFonts: TcxBarEditItem;
btnRibbonStyle: TdxBarButton;
seFontSize: TcxBarEditItem;
prbFontSize: TcxBarEditItem;
trbFontSize: TcxBarEditItem;
edtTime: TcxBarEditItem;
edtDate: TcxBarEditItem;
cbFontSize: TcxBarEditItem;
dxBarDockControl1: TdxBarDockControl;
Panel1: TPanel;
clcFontColor: TcxBarEditItem;
fncPathFontName: TcxBarEditItem;
scbSelectPath: TcxBarEditItem;
btnImageEditors: TdxBarButton;
btnComboBoxes: TdxBarButton;
btnCheckBoxes: TdxBarButton;
edtMoney: TcxBarEditItem;
edtCalculate: TcxBarEditItem;
edtBlob: TcxBarEditItem;
memMemo: TcxBarEditItem;
reRich: TcxBarEditItem;
beCompanyName: TcxBarEditItem;
edtSite: TcxBarEditItem;
lblCompanyName: TcxBarEditItem;
mePhoneNum: TcxBarEditItem;
edtCompanyName: TcxBarEditItem;
tlbImageEditors: TdxBar;
edtImage: TcxBarEditItem;
edtBlobImage: TcxBarEditItem;
tlbComboBoxes: TdxBar;
imcImages: TcxBarEditItem;
cbLookUp: TcxBarEditItem;
edtLastPath: TcxBarEditItem;
tlbCheckBoxes: TdxBar;
chbMonochrome: TcxBarEditItem;
cbSelectColor: TcxBarEditItem;
chgSelectColor: TcxBarEditItem;
rgSelectColor: TcxBarEditItem;
Image1: TImage;
Bold: TcxStyle;
DataSource: TDataSource;
tblContacts: TTable;
Database: TDatabase;
siValueEditors: TdxBarSubItem;
btnExit: TdxBarButton;
tlbMainMenu: TdxBar;
siFile: TdxBarSubItem;
siView: TdxBarSubItem;
siHelp: TdxBarSubItem;
siBarStyles: TdxBarSubItem;
btnShowDescription: TdxBarButton;
btnToolBarDescriptions: TdxBarButton;
btnBarsHelp: TdxBarButton;
btnDockingHelp: TdxBarButton;
btnDownloads: TdxBarButton;
btnRateDemo: TdxBarButton;
btnDXOnTheWeb: TdxBarButton;
btnSupport: TdxBarButton;
btnProducts: TdxBarButton;
btnMyDX: TdxBarButton;
tlbHelp: TdxBar;
lblDemoDescription: TLabel;
siCheckBoxes: TdxBarSubItem;
siTextEditors: TdxBarSubItem;
siMultilineTextEditors: TdxBarSubItem;
siImageEditors: TdxBarSubItem;
siComboBoxes: TdxBarSubItem;
tlbEditorType: TdxBar;
tlbPreview: TdxBar;
btnStandard: TdxBarButton;
btnEnhanced: TdxBarButton;
btnFlat: TdxBarButton;
btnXP: TdxBarButton;
btnOffice11: TdxBarButton;
tlbTextEditorsInSubMenu: TdxBar;
tlbValueEditorsInSubMenu: TdxBar;
tlbMultiLineTextEditorsInSubMenu: TdxBar;
tlbImageEditorsInSubMenu: TdxBar;
tlbComboBoxesInSubMenu: TdxBar;
tlbCheckBoxesInSubMenu: TdxBar;
btnAbout: TdxBarLargeButton;
tlbDateTimeValues: TdxBar;
tlbScaleValues: TdxBar;
tlbShellMRUCombo: TdxBar;
tlbImageLookUpCombo: TdxBar;
tlbColorScheme: TdxBar;
btnBlueRibbonScheme: TdxBarLargeButton;
BlackRibbonScheme: TdxBarLargeButton;
SilverRibbonSheme: TdxBarLargeButton;
edtPopup: TcxBarEditItem;
memPopup: TMemo;
tblContactsID: TAutoIncField;
tblContactsProductID: TIntegerField;
tblContactsFirstName: TStringField;
tblContactsLastName: TStringField;
tblContactsCompany: TStringField;
tblContactsAddress: TStringField;
tblContactsCity: TStringField;
tblContactsState: TStringField;
tblContactsPurchaseDate: TDateField;
tblContactsPaymentType: TStringField;
tblContactsPaymentAmount: TBCDField;
tblContactsFullName: TStringField;
ilSmall: TcxImageList;
ilLarge: TcxImageList;
siGroup: TdxBarSubItem;
procedure btnEditorStylesClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cbSelectEditTypeChange(Sender: TObject);
procedure cbStyleChange(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure cbRibbonFontChange(Sender: TObject);
procedure ccbAssignedRibbonFontsChange(Sender: TObject);
procedure btnRibbonStyleClick(Sender: TObject);
procedure seFontSizeChange(Sender: TObject);
procedure edtCompanyNameChange(Sender: TObject);
procedure edtMoneyChange(Sender: TObject);
procedure clcFontColorChange(Sender: TObject);
procedure edtSiteChange(Sender: TObject);
procedure chgSelectColorChange(Sender: TObject);
procedure chbMonochromeChange(Sender: TObject);
procedure scbSelectPathChange(Sender: TObject);
procedure edtLastPathChange(Sender: TObject);
procedure edtImageChange(Sender: TObject);
procedure reRichChange(Sender: TObject);
procedure memMemoChange(Sender: TObject);
procedure btnExitClick(Sender: TObject);
procedure btnShowDescriptionClick(Sender: TObject);
procedure btnToolBarDescriptionsClick(Sender: TObject);
procedure beCompanyNamePropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
procedure cbStyleEditChange(Sender: TObject);
procedure imcImagesChange(Sender: TObject);
procedure fncRibbonFontNameChange(Sender: TObject);
procedure btnStandardClick(Sender: TObject);
procedure btnBlueRibbonSchemeClick(Sender: TObject);
procedure edtDateChange(Sender: TObject);
procedure cbLookUpChange(Sender: TObject);
procedure tblContactsCalcFields(DataSet: TDataSet);
procedure edtPopupPropertiesCloseUp(Sender: TObject);
procedure cbFontSizePropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
private
FRibbon: TdxRibbon;
FUpdateLock: Boolean;
procedure CreateFrames;
procedure RibbonTabChanged(Sender: TdxCustomRibbon);
procedure UpdateCheckBoxesView;
procedure UpdateComboBoxesView;
procedure UpdateImageEditorsView;
procedure UpdateMultilineTextEditorsView;
procedure UpdateValueEditorsView;
procedure UpdateTextEditView;
procedure InitializeComboBoxes;
procedure InitializeCheckBoxes;
procedure InitializeImageEditors;
procedure InitializeMultilineTextEditors;
procedure InitializeTextEditors;
procedure InitializeValueEditors;
procedure InitializeEditorStyles;
procedure InitializeRibbon;
procedure InitializeFrames;
procedure SynchronizeCalcValueEditors(AValue: Variant);
procedure SynchronizeCheckGroupEditors(AValue: Variant);
procedure SynchronizeImageEditors(AValue: Variant);
procedure SynchronizeMultilineTextEditors(AValue: Variant);
procedure SynchronizePathEditors(AValue: Variant);
procedure SynchronizeRibbonFontEditors;
procedure SynchronizeValueEditors(AValue: Variant);
procedure SynchronizeTextEditors(AValue: Variant);
procedure SetEditorStyle(APropName: string; AStyleSource: TcxBarEditItem);
procedure UpdateActionsImages;
public
procedure HideAllFrames;
procedure ShowAllDemoToolbars(AVisible: Boolean);
procedure SelectNonRibbonTab(ATabIndex: Integer);
procedure SelectTab(ATabIndex: Integer);
end;
var
frmMain: TfrmMain;
implementation
uses
InPlaceEditorsDemoFrameManager, InPlaceEditorsDemoComboBoxes, InPlaceEditorsDemoImage,
InPlaceEditorsDemoText, InPlaceEditorsDemoMultiLineText, InPlaceEditorsDemoValue,
InPlaceEditorsDemoCheckBoxes, InPlaceEditorsDemoAbout;
{$R *.dfm}
procedure TfrmMain.btnEditorStylesClick(Sender: TObject);
begin
SelectNonRibbonTab(TdxBarItem(Sender).Category);
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
dmCommonData.AboutFormClass := TfrmAbout;
CreateFrames;
TWinControl(dxBarDockControl1).Align := alTop;
lblDemoDescription.Caption := SDemoDescription;
Panel1.Align := alClient;
Panel2.Align := alClient;
tblContacts.Open;
BarManager.BeginUpdate;
try
InitializeComboBoxes;
InitializeCheckBoxes;
InitializeImageEditors;
InitializeMultilineTextEditors;
InitializeTextEditors;
InitializeValueEditors;
InitializeEditorStyles;
InitializeRibbon;
InitializeFrames;
BarManager.Style := bmsOffice11;
UpdateActionsImages;
BarManager.Bars[1].Visible := True;
SelectNonRibbonTab(1);
finally
BarManager.EndUpdate;
end;
end;
procedure TfrmMain.HideAllFrames;
var
I: Integer;
begin
for I := 0 to AFrameManager.FramesCount - 1 do
TForm(AFrameManager[I]).Hide;
end;
procedure TfrmMain.ShowAllDemoToolbars(AVisible: Boolean);
var
I: Integer;
begin
BarManager.BeginUpdate;
try
for I := 0 to BarManager.Bars.Count - 1 do
if BarManager.Bars[I].Tag <> 0 then
BarManager.Bars[I].Visible := AVisible;
finally
BarManager.EndUpdate;
end;
end;
procedure TfrmMain.SelectNonRibbonTab(ATabIndex: Integer);
var
I, APos: Integer;
begin
ShowAllDemoToolbars(False);
APos := 0;
BarManager.BeginUpdate;
try
for I := 0 to BarManager.Bars.Count - 1 do
if BarManager.Bars[I].Tag = ATabIndex then
begin
BarManager.Bars[I].Move(dxBarDockControl1, APos, 0);
BarManager.Bars[I].Visible := True;
Inc(APos);
end;
finally
BarManager.EndUpdate;
end;
SelectTab(ATabIndex);
end;
procedure TfrmMain.SelectTab(ATabIndex: Integer);
begin
HideAllFrames;
if ATabIndex <= AFrameManager.FramesCount then
AFrameManager[ATabIndex - 1].Show;
end;
procedure TfrmMain.RibbonTabChanged(Sender: TdxCustomRibbon);
begin
SelectTab(Sender.ActiveTab.Tag);
end;
procedure TfrmMain.CreateFrames;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -