📄 jvdyncontrolenginedevexpcxdb.pas
字号:
procedure ControlSetDataSource(Value: TDataSource);
function ControlGetDataSource: TDataSource;
procedure ControlSetDataField(const Value: string);
function ControlGetDataField: string;
//IJvDynControlDevExpCx
procedure ControlSetCxProperties(Value: TCxDynControlWrapper);
end;
TJvDynControlCxDBDateTimeEdit = class (TcxDBDateEdit, IUnknown, IJvDynControl,
IJvDynControlData, IJvDynControlDevExpCx, IJvDynControlDate, IJvDynControlReadOnly,
IJvDynControlDatabase)
public
procedure ControlSetDefaultProperties;
procedure ControlSetReadOnly(Value: Boolean);
procedure ControlSetCaption(const Value: string);
procedure ControlSetTabOrder(Value: Integer);
procedure ControlSetOnEnter(Value: TNotifyEvent);
procedure ControlSetOnExit(Value: TNotifyEvent);
procedure ControlSetOnChange(Value: TNotifyEvent);
procedure ControlSetOnClick(Value: TNotifyEvent);
procedure ControlSetHint(const Value: string);
procedure ControlSetValue(Value: Variant);
function ControlGetValue: Variant;
// IJvDynControlDate
procedure ControlSetMinDate(Value: TDateTime);
procedure ControlSetMaxDate(Value: TDateTime);
procedure ControlSetFormat(const Value: string);
procedure ControlSetCxProperties(Value: TCxDynControlWrapper);
//IJvDynControlDatabase
procedure ControlSetDataSource(Value: TDataSource);
function ControlGetDataSource: TDataSource;
procedure ControlSetDataField(const Value: string);
function ControlGetDataField: string;
end;
TJvDynControlCxDBDateEdit = class (TcxDBDateEdit, IUnknown, IJvDynControl,
IJvDynControlData, IJvDynControlDevExpCx, IJvDynControlDate,
IJvDynControlReadOnly, IJvDynControlDatabase)
public
procedure ControlSetDefaultProperties;
procedure ControlSetReadOnly(Value: Boolean);
procedure ControlSetCaption(const Value: string);
procedure ControlSetTabOrder(Value: Integer);
procedure ControlSetOnEnter(Value: TNotifyEvent);
procedure ControlSetOnExit(Value: TNotifyEvent);
procedure ControlSetOnChange(Value: TNotifyEvent);
procedure ControlSetOnClick(Value: TNotifyEvent);
procedure ControlSetHint(const Value: string);
procedure ControlSetValue(Value: Variant);
function ControlGetValue: Variant;
// IJvDynControlDate
procedure ControlSetMinDate(Value: TDateTime);
procedure ControlSetMaxDate(Value: TDateTime);
procedure ControlSetFormat(const Value: string);
procedure ControlSetCxProperties(Value: TCxDynControlWrapper);
//IJvDynControlDatabase
procedure ControlSetDataSource(Value: TDataSource);
function ControlGetDataSource: TDataSource;
procedure ControlSetDataField(const Value: string);
function ControlGetDataField: string;
end;
TJvDynControlCxDBTimeEdit = class (TcxDBTimeEdit, IUnknown, IJvDynControl,
IJvDynControlData, IJvDynControlDevExpCx, IJvDynControlTime,
IJvDynControlReadOnly, IJvDynControlDatabase)
public
procedure ControlSetDefaultProperties;
procedure ControlSetReadOnly(Value: Boolean);
procedure ControlSetCaption(const Value: string);
procedure ControlSetTabOrder(Value: Integer);
procedure ControlSetOnEnter(Value: TNotifyEvent);
procedure ControlSetOnExit(Value: TNotifyEvent);
procedure ControlSetOnChange(Value: TNotifyEvent);
procedure ControlSetOnClick(Value: TNotifyEvent);
procedure ControlSetHint(const Value: string);
procedure ControlSetValue(Value: Variant);
function ControlGetValue: Variant;
procedure ControlSetCxProperties(Value: TCxDynControlWrapper);
procedure ControlSetFormat(const Value: string);
//IJvDynControlDatabase
procedure ControlSetDataSource(Value: TDataSource);
function ControlGetDataSource: TDataSource;
procedure ControlSetDataField(const Value: string);
function ControlGetDataField: string;
end;
function DynControlEngineCxDB: TJvDynControlEngineDB;
procedure SetDefaultDynControlEngineDBDevExp;
{$ENDIF USE_3RDPARTY_DEVEXPRESS_CXEDITOR}
{$IFDEF UNITVERSIONING}
const
UnitVersioning: TUnitVersionInfo = (
RCSfile: '$RCSfile: JvDynControlEngineDevExpCxDB.pas,v $';
Revision: '$Revision: 1.8 $';
Date: '$Date: 2005/02/17 10:20:27 $';
LogPath: 'JVCL\run'
);
{$ENDIF UNITVERSIONING}
implementation
uses
{$IFDEF HAS_UNIT_VARIANTS}
Variants,
{$ENDIF HAS_UNIT_VARIANTS}
SysUtils,
{$IFDEF USE_3RDPARTY_DEVEXPRESS_CXEDITOR}
cxTextEdit, cxMaskEdit, cxRadioGroup, cxDropDownEdit, cxDBRichEdit,
cxEdit, cxTimeEdit, cxDBLookupComboBox, cxMemo, cxCheckbox,
cxGridTableView,cxGridCustomView,
cxGrid, cxGridCustomTableView, cxGridDBDataDefinitions,
{$ENDIF USE_3RDPARTY_DEVEXPRESS_CXEDITOR}
JvDynControlEngineTools, JvConsts, JvJCLUtils;
{$IFDEF USE_3RDPARTY_DEVEXPRESS_CXEDITOR}
var
IntDynControlEngineCxDB: TJvDynControlEngineDB = nil;
//=== { TJvDynControlCxDBEdit } ==============================================
procedure TJvDynControlCxDBEdit.ControlSetDefaultProperties;
begin
end;
procedure TJvDynControlCxDBEdit.ControlSetReadOnly(Value: Boolean);
begin
Properties.ReadOnly := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetCaption(const Value: string);
begin
end;
procedure TJvDynControlCxDBEdit.ControlSetTabOrder(Value: Integer);
begin
TabOrder := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetHint(const Value: string);
begin
Hint := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetOnEnter(Value: TNotifyEvent);
begin
OnEnter := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetOnExit(Value: TNotifyEvent);
begin
OnExit := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetOnChange(Value: TNotifyEvent);
begin
Properties.OnChange := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetOnClick(Value: TNotifyEvent);
begin
end;
procedure TJvDynControlCxDBEdit.ControlSetValue(Value: Variant);
begin
Text := Value;
end;
function TJvDynControlCxDBEdit.ControlGetValue: Variant;
begin
Result := Text;
end;
procedure TJvDynControlCxDBEdit.ControlSetPasswordChar(Value: Char);
begin
if Value <> #0 then
Properties.EchoMode := eemPassword
else
Properties.EchoMode := eemNormal;
end;
procedure TJvDynControlCxDBEdit.ControlSetEditMask(const Value: string);
begin
//EditMask := Value;
end;
procedure TJvDynControlCxDBEdit.ControlSetDataSource(Value: TDataSource);
begin
Databinding.DataSource := Value;
end;
function TJvDynControlCxDBEdit.ControlGetDataSource: TDataSource;
begin
Result := DataBinding.DataSource;
end;
procedure TJvDynControlCxDBEdit.ControlSetDataField(const Value: string);
begin
Databinding.DataField := Value;
end;
function TJvDynControlCxDBEdit.ControlGetDataField: string;
begin
Result := Databinding.DataField;
end;
procedure TJvDynControlCxDBEdit.ControlSetCxProperties(Value: TCxDynControlWrapper);
begin
Style.LookAndFeel.Assign(Value.LookAndFeel);
Style.StyleController := Value.StyleController;
end;
//=== { TJvDynControlCxDBButtonEdit } ========================================
constructor TJvDynControlCxDBButtonEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;
destructor TJvDynControlCxDBButtonEdit.Destroy;
begin
inherited Destroy;
end;
procedure TJvDynControlCxDBButtonEdit.IntOnButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
if Assigned(FIntOnButtonClick) then
FIntOnButtonClick(Sender);
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetDefaultProperties;
begin
Properties.OnButtonClick := IntOnButtonClick;
Properties.MaskKind := emkStandard;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetReadOnly(Value: Boolean);
begin
Properties.ReadOnly := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetCaption(const Value: string);
begin
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetTabOrder(Value: Integer);
begin
TabOrder := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetHint(const Value: string);
begin
Hint := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetOnEnter(Value: TNotifyEvent);
begin
OnEnter := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetOnExit(Value: TNotifyEvent);
begin
OnExit := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetOnChange(Value: TNotifyEvent);
begin
Properties.OnChange := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetOnClick(Value: TNotifyEvent);
begin
OnClick := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetValue(Value: Variant);
begin
Text := Value;
end;
function TJvDynControlCxDBButtonEdit.ControlGetValue: Variant;
begin
Result := Text;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetPasswordChar(Value: Char);
begin
if Value <> #0 then
Properties.EchoMode := eemPassword
else
Properties.EchoMode := eemNormal;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetEditMask(const Value: string);
begin
//FEditControl.EditMask := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetOnButtonClick(Value: TNotifyEvent);
begin
FIntOnButtonClick := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetButtonCaption(const Value: string);
begin
Properties.Buttons[0].Caption := Value;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetGlyph(Value: TBitmap);
begin
Properties.Buttons[0].Glyph.Assign(Value);
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetNumGlyphs(Value: Integer);
begin
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetLayout(Value: TButtonLayout);
begin
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetDefault(Value: Boolean);
begin
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetCancel(Value: Boolean);
begin
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetDataSource(Value: TDataSource);
begin
Databinding.DataSource := Value;
end;
function TJvDynControlCxDBButtonEdit.ControlGetDataSource: TDataSource;
begin
Result := Databinding.DataSource;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetDataField(const Value: string);
begin
Databinding.DataField := Value;
end;
function TJvDynControlCxDBButtonEdit.ControlGetDataField: string;
begin
Result := Databinding.DataField;
end;
procedure TJvDynControlCxDBButtonEdit.ControlSetCxProperties(Value: TCxDynControlWrapper);
begin
Style.LookAndFeel.Assign(Value.LookAndFeel);
Style.StyleController := Value.StyleController;
end;
//=== { TJvDynControlCxDBFileNameEdit } ======================================
constructor TJvDynControlCxDBFileNameEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;
destructor TJvDynControlCxDBFileNameEdit.Destroy;
begin
inherited Destroy;
end;
procedure TJvDynControlCxDBFileNameEdit.DefaultOnButtonClick(Sender: TObject);
begin
case FDialogKind of
jdkOpen:
with TOpenDialog.Create(Self) do
try
Options := FDialogOptions;
Title := FDialogTitle;
Filter := FFilter;
FilterIndex := FFilterIndex;
InitialDir := FInitialDir;
DefaultExt := FDefaultExt;
FileName := ControlGetValue;
if Execute then
ControlSetValue(FileName);
finally
Free;
end;
jdkOpenPicture:
with TOpenPictureDialog.Create(Self) do
try
Options := FDialogOptions;
Title := FDialogTitle;
Filter := FFilter;
FilterIndex := FFilterIndex;
InitialDir := FInitialDir;
DefaultExt := FDefaultExt;
FileName := ControlGetValue;
if Execute then
ControlSetValue(FileName);
finally
Free;
end;
jdkSave:
with TSaveDialog.Create(Self) do
try
Options := FDialogOptions;
Title := FDialogTitle;
Filter := FFilter;
FilterIndex := FFilterIndex;
InitialDir := FInitialDir;
DefaultExt := FDefaultExt;
FileName := ControlGetValue;
if Execute then
ControlSetValue(FileName);
finally
Free;
end;
jdkSavePicture:
with TSavePictureDialog.Create(Self) do
try
Options := FDialogOptions;
Title := FDialogTitle;
Filter := FFilter;
FilterIndex := FFilterIndex;
InitialDir := FInitialDir;
DefaultExt := FDefaultExt;
FileName := ControlGetValue;
if Execute then
ControlSetValue(FileName);
finally
Free;
end;
end;
if CanFocus then
SetFocus;
end;
procedure TJvDynControlCxDBFileNameEdit.ControlSetDefaultProperties;
begin
Caption := ' ';
end;
procedure TJvDynControlCxDBFileNameEdit.ControlSetReadOnly(Value: Boolean);
begin
Properties.ReadOnly := Value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -