📄 frxdesgneditors.pas
字号:
AddItem(frxResources.Get('mvStretch'), 10, b.Stretched);
if not (b.BandNumber in [0,2,3,15,16]) then
AddItem(frxResources.Get('bvSplit'), 11, b.AllowSplit);
if not (b.BandNumber in [2,15]) then
AddItem(frxResources.Get('bvKeepChild'), 12, b.KeepChild);
end;
AddItem(frxResources.Get('bvPrintChild'), 13, b.PrintChildIfInvisible);
if not (b.BandNumber in [2,3,5,13,15,16]) then
AddItem(frxResources.Get('bvStartPage'), 14, b.StartNewPage);
end;
{ TfrxDataBandEditor }
function TfrxDataBandEditor.Edit:Boolean;
begin
with TfrxDataBandEditorForm.Create(Designer) do
begin
DataBand:= TfrxDataBand(Component);
Result:= ShowModal = mrOk;
Free;
end;
end;
function TfrxDataBandEditor.HasEditor:Boolean;
begin
Result:= True;
end;
function TfrxDataBandEditor.Execute(Tag:Integer; Checked:Boolean):Boolean;
var
b:TfrxDataBand;
begin
Result:= inherited Execute(Tag, Checked);
b:= Designer.SelectedObjects[0];
if not (rfDontModify in b.Restrictions) then
begin
case Tag of
0:b.PrintIfDetailEmpty:= Checked;
1:b.FooterAfterEach:= Checked;
2:b.KeepTogether:= Checked;
3:b.KeepFooter:= Checked;
4:b.KeepHeader:= Checked;
end;
Result:= True;
end;
end;
procedure TfrxDataBandEditor.GetMenuItems;
var
b:TfrxDataBand;
begin
inherited;
if Designer.SelectedObjects.Count > 1 then Exit;
b:= TfrxDataBand(Component);
AddItem(frxResources.Get('bvPrintIfEmpty'), 0, b.PrintIfDetailEmpty);
AddItem(frxResources.Get('bvFooterAfterEach'), 1, b.FooterAfterEach);
if not b.Vertical then
begin
AddItem(frxResources.Get('bvKeepDetail'), 2, b.KeepTogether);
AddItem(frxResources.Get('bvKeepFooter'), 3, b.KeepFooter);
AddItem(frxResources.Get('bvKeepHeader'), 4, b.KeepHeader);
end;
end;
{ TfrxHeaderEditor }
function TfrxHeaderEditor.Execute(Tag:Integer; Checked:Boolean):Boolean;
var
b:TfrxHeader;
begin
Result:= inherited Execute(Tag, Checked);
b:= Designer.SelectedObjects[0];
if not (rfDontModify in b.Restrictions) then
begin
if Tag = 0 then
b.ReprintOnNewPage:= Checked;
Result:= True;
end;
end;
procedure TfrxHeaderEditor.GetMenuItems;
var
b:TfrxHeader;
begin
inherited;
if Designer.SelectedObjects.Count > 1 then Exit;
b:= TfrxHeader(Component);
AddItem(frxResources.Get('bvReprint'), 0, b.ReprintOnNewPage);
end;
{ TfrxPageHeaderEditor }
function TfrxPageHeaderEditor.Execute(Tag:Integer; Checked:Boolean):Boolean;
var
b:TfrxPageHeader;
begin
Result:= inherited Execute(Tag, Checked);
b:= Designer.SelectedObjects[0];
if not (rfDontModify in b.Restrictions) then
begin
if Tag = 0 then
b.PrintOnFirstPage:= Checked;
Result:= True;
end;
end;
procedure TfrxPageHeaderEditor.GetMenuItems;
var
b:TfrxPageHeader;
begin
inherited;
if Designer.SelectedObjects.Count > 1 then Exit;
b:= TfrxPageHeader(Component);
AddItem(frxResources.Get('bvOnFirst'), 0, b.PrintOnFirstPage);
end;
{ TfrxPageFooterEditor }
function TfrxPageFooterEditor.Execute(Tag:Integer; Checked:Boolean):Boolean;
var
b:TfrxPageFooter;
begin
Result:= False;
b:= Designer.SelectedObjects[0];
if not (rfDontModify in b.Restrictions) then
begin
case Tag of
0:b.PrintOnFirstPage:= Checked;
1:b.PrintOnLastPage:= Checked;
end;
Result:= True;
end;
end;
procedure TfrxPageFooterEditor.GetMenuItems;
var
b:TfrxPageFooter;
begin
if Designer.SelectedObjects.Count > 1 then Exit;
b:= TfrxPageFooter(Component);
AddItem(frxResources.Get('bvOnFirst'), 0, b.PrintOnFirstPage);
AddItem(frxResources.Get('bvOnLast'), 1, b.PrintOnLastPage);
end;
{ TfrxGroupHeaderEditor }
function TfrxGroupHeaderEditor.Edit:Boolean;
begin
with TfrxGroupEditorForm.Create(Designer) do
begin
GroupHeader:= TfrxGroupHeader(Component);
Result:= ShowModal = mrOk;
Free;
end;
end;
function TfrxGroupHeaderEditor.HasEditor:Boolean;
begin
Result:= True;
end;
function TfrxGroupHeaderEditor.Execute(Tag:Integer; Checked:Boolean):Boolean;
var
b:TfrxGroupHeader;
begin
Result:= inherited Execute(Tag, Checked);
b:= Designer.SelectedObjects[0];
if not (rfDontModify in b.Restrictions) then
begin
if Tag = 0 then
b.KeepTogether:= Checked
else if Tag = 1 then
b.ReprintOnNewPage:= Checked;
Result:= True;
end;
end;
procedure TfrxGroupHeaderEditor.GetMenuItems;
var
b:TfrxGroupHeader;
begin
inherited;
if Designer.SelectedObjects.Count > 1 then Exit;
b:= TfrxGroupHeader(Component);
AddItem(frxResources.Get('bvKeepGroup'), 0, b.KeepTogether);
AddItem(frxResources.Get('bvReprint'), 1, b.ReprintOnNewPage);
end;
{ TfrxDialogControlEditor }
function TfrxDialogControlEditor.Edit:Boolean;
var
i:Integer;
c:TfrxDialogControl;
s:String;
begin
c:= TfrxDialogControl(Component);
if c.OnClick = '' then
begin
s:= c.Name+'OnClick';
c.OnClick:= s;
i:= frxLocateEventHandler(Designer.Code, Designer.Report.ScriptLanguage, s);
if i =-1 then
i:= frxAddEvent(Designer.Code, Designer.Report.ScriptLanguage,
TypeInfo(TfrxNotifyEvent), s) else
Inc(i, 3);
TfrxDesignerForm(Designer).SwitchToCodeWindow;
TfrxDesignerForm(Designer).CodeWindow.UpdateView;
TfrxDesignerForm(Designer).CodeWindow.SetPos(3, i);
Result:= True;
end
else
begin
i:= frxLocateEventHandler(Designer.Code, Designer.Report.ScriptLanguage,
c.OnClick);
TfrxDesignerForm(Designer).SwitchToCodeWindow;
TfrxDesignerForm(Designer).CodeWindow.SetPos(1, i+3);
Result:= False;
end;
end;
function TfrxDialogControlEditor.HasEditor:Boolean;
begin
Result:= True;
end;
{ TfrxSubreportEditor }
function TfrxSubreportEditor.Edit:Boolean;
var
s:TfrxSubReport;
begin
Result:= False;
s:= TfrxSubReport(Component);
if s.Page<>nil then
Designer.Page:= s.Page;
end;
function TfrxSubreportEditor.Execute(Tag:Integer; Checked:Boolean):Boolean;
var
s:TfrxSubReport;
begin
Result:= inherited Execute(Tag, Checked);
s:= TfrxSubReport(Component);
if not (rfDontModify in s.Restrictions) then
begin
if Tag = 0 then
s.PrintOnParent:= Checked;
Result:= True;
end;
end;
procedure TfrxSubreportEditor.GetMenuItems;
begin
inherited;
AddItem(frxResources.Get('srParent'), 0, TfrxSubReport(Component).PrintOnParent);
end;
function TfrxSubreportEditor.HasEditor:Boolean;
begin
Result:= True;
end;
{ TfrxMemoProperty }
function TfrxMemoProperty.Edit:Boolean;
begin
with TfrxMemoEditorForm.Create(Designer) do
begin
MemoView:= TfrxMemoView(Component);
Result:= ShowModal = mrOk;
if Result then
TfrxMemoView(Component).Memo:= Memo.Lines;
Free;
end;
end;
function TfrxMemoProperty.GetAttributes:TfrxPropertyAttributes;
begin
Result:= [paDialog, paReadOnly];
end;
{ TfrxFrameProperty }
function TfrxFrameProperty.Edit:Boolean;
begin
with TfrxFrameEditorForm.Create(Designer) do
begin
Frame.Assign(TfrxFrame(GetOrdValue));
Result:= ShowModal = mrOk;
if Result then
TfrxFrame(GetOrdValue).Assign(Frame);
Free;
end;
end;
function TfrxFrameProperty.GetAttributes:TfrxPropertyAttributes;
begin
Result:= [paDialog, paReadOnly];
end;
{ TfrxPictureProperty }
function TfrxPictureProperty.GetAttributes:TfrxPropertyAttributes;
begin
Result:= [paDialog, paReadOnly];
end;
function TfrxPictureProperty.Edit:Boolean;
var
Pict:TPicture;
begin
with TfrxPictureEditorForm.Create(Designer) do
begin
Pict:= TPicture(GetOrdValue);
Image.Picture.Assign(Pict);
Result:= ShowModal = mrOk;
if Result then
Pict.Assign(Image.Picture);
Free;
end;
end;
function TfrxPictureProperty.GetValue:String;
var
Pict:TPicture;
begin
Pict:= TPicture(GetOrdValue);
if Pict.Graphic = nil then
Result:= frxResources.Get('prNotAssigned') else
Result:= frxResources.Get('prPict');
end;
{ TfrxBitmapProperty }
function TfrxBitmapProperty.GetAttributes:TfrxPropertyAttributes;
begin
Result:= [paDialog, paReadOnly];
end;
function TfrxBitmapProperty.Edit:Boolean;
var
Bmp:TBitmap;
begin
with TfrxPictureEditorForm.Create(Designer) do
begin
Bmp:= TBitmap(GetOrdValue);
Image.Picture.Assign(Bmp);
Result:= ShowModal = mrOk;
if Result then
Bmp.Assign(Image.Picture.Bitmap);
Free;
end;
end;
function TfrxBitmapProperty.GetValue:String;
begin
Result:= frxResources.Get('prPict');
end;
{ TfrxDataSetProperty }
function TfrxDataSetProperty.GetAttributes:TfrxPropertyAttributes;
begin
Result:= [paMultiSelect, paValueList];
end;
function TfrxDataSetProperty.GetValue:String;
var
ds:TfrxDataSet;
begin
ds:= TfrxDataSet(GetOrdValue);
if (ds<>nil) and (frComponent.Report<>nil) then
Result:= frComponent.Report.GetAlias(ds) else
Result:= frxResources.Get('prNotAssigned');
end;
procedure TfrxDataSetProperty.GetValues;
begin
frComponent.Report.GetDataSetList(Values);
if Component is TfrxDataSet then
Values.Delete(Values.IndexOf(TfrxDataSet(Component).UserName));
end;
procedure TfrxDataSetProperty.SetValue(const Value:String);
var
ds:TfrxDataSet;
begin
if Value = '' then
SetOrdValue(0)
else
begin
ds:= frComponent.Report.GetDataSet(Value);
if ds<>nil then
SetOrdValue(Integer(ds)) else
raise Exception.Create(frxResources.Get('prInvProp'));
if Component is TfrxCustomMemoView then
with TfrxCustomMemoView(Component) do
if IsDataField then
Text:= '['+DataSet.UserName+'."'+DataField+'"]';
end;
end;
{ TfrxDataFieldProperty }
function TfrxDataFieldProperty.GetAttributes:TfrxPropertyAttributes;
begin
Result:= [paMultiSelect, paValueList];
end;
function TfrxDataFieldProperty.GetValue:String;
begin
Result:= GetStrValue;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -