📄 bsskinprinter.pas
字号:
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_NAME')
else
Caption := BS_PRNDLG_NAME;
end;
PrinterCombobox := TbsSkinCombobox.Create(Form);
with PrinterCombobox do
begin
Parent := PrinterGroupBox;
DefaultFont := DefaultComboboxFont;
UseSkinFont := Self.UseSkinFont;
Items.Assign(Printer.Printers);
ItemIndex := Printer.PrinterIndex;
SkinDataName := FSelectSkinDataName;
SkinData := CtrlSkinData;
OnChange := PrinterComboBoxChange;
Top := R.Top + 7;
Left := R.Left + 80;
Width := RectWidth(R) - 180;
end;
with TbsSkinButton.Create(Self) do
begin
Parent := PrinterGroupBox;
Left := PrinterCombobox.Left + PrinterCombobox.Width + 10;
Top := R.Top + 5;
Width := 80;
DefaultFont := DefaultButtonFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_PROPERTIES')
else
Caption := BS_PRNDLG_PROPERTIES;
OnClick := PropertiesButtonClick;
end;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PrinterGroupBox;
Left := R.Left + 10;
Top := R.Top + 40;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_STATUS')
else
Caption := BS_PRNDLG_STATUS;
end;
L1 := TbsSkinStdLabel.Create(Self);
with L1 do
begin
Parent := PrinterGroupBox;
Left := R.Left + 80;
Top := R.Top + 40;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
Caption := '';
end;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PrinterGroupBox;
Left := R.Left + 10;
Top := R.Top + 60;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_TYPE')
else
Caption := BS_PRNDLG_TYPE;
end;
L2 := TbsSkinStdLabel.Create(Self);
with L2 do
begin
Parent := PrinterGroupBox;
Left := R.Left + 80;
Top := R.Top + 60;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
Caption := '';
end;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PrinterGroupBox;
Left := R.Left + 10;
Top := R.Top + 80;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_WHERE')
else
Caption := BS_PRNDLG_WHERE;
end;
L3 := TbsSkinStdLabel.Create(Self);
with L3 do
begin
Parent := PrinterGroupBox;
Left := R.Left + 80;
Top := R.Top + 80;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
Caption := '';
end;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PrinterGroupBox;
Left := R.Left + 10;
Top := R.Top + 100;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_COMMENT')
else
Caption := BS_PRNDLG_COMMENT;
end;
L4 := TbsSkinStdLabel.Create(Self);
with L4 do
begin
Parent := PrinterGroupBox;
Left := R.Left + 80;
Top := R.Top + 100;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
Caption := '';
end;
GetPrinterInfo(S1, S2, S3, S4);
L1.Caption := S1;
L2.Caption := S2;
L3.Caption := S3;
L4.Caption := S4;
PaperGroupBox := TbsSkinGroupBox.Create(Self);
with PaperGroupBox do
begin
Parent := Form;
Left := 10;
Top := PrinterGroupBox.Top + PrinterGroupBox.Height + 10;
Width := (Form.ClientWidth - 20) div 2 + 30;
Height := 120;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_PAPER')
else
Caption := BS_PRNDLG_PAPER;
end;
OrientationGroupBox := TbsSkinGroupBox.Create(Self);
with OrientationGroupBox do
begin
Parent := Form;
Left := PaperGroupBox.Left + PaperGroupBox.Width + 10;
Top := PrinterGroupBox.Top + PrinterGroupBox.Height + 10;
Width := (Form.ClientWidth - 20) div 2 - 40;
Height := 120;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_ORIENTATION')
else
Caption := BS_PRNDLG_ORIENTATION;
end;
R := OrientationGroupBox.GetSkinClientRect;
RBPortrait := TbsSkinCheckRadioBox.Create(Self);
with RBPortrait do
begin
GroupIndex := 1;
Parent := OrientationGroupBox;
Checked := Printer.Orientation = poPortrait;
Left := R.Right - 100;
Top := R.Top + 15;
Width := 90;
Radio := True;
SkinDataName := 'radiobox';
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_PORTRAIT')
else
Caption := BS_PRNDLG_PORTRAIT;
OnClick := RBPortraitClick;
end;
RBLandScape := TbsSkinCheckRadioBox.Create(Self);
with RBLandScape do
begin
GroupIndex := 1;
Parent := OrientationGroupBox;
Checked := Printer.Orientation = poLandScape;
Left := R.Right - 100;
Top := R.Bottom - 45;
Width := 90;
Radio := True;
SkinDataName := 'radiobox';
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_LANDSCAPE')
else
Caption := BS_PRNDLG_LANDSCAPE;
OnClick := RBLandScapeClick;
end;
OrientationImage := TImage.Create(Self);
with OrientationImage do
begin
Top := R.Top + 30;
Left := R.Left + 25;
Parent := OrientationGroupBox;
AutoSize := True;
Transparent := True;
if Printer.Orientation = poPortrait
then
Picture.Bitmap.LoadFromResourceName(HInstance, 'BS_PORTRAIT')
else
Picture.Bitmap.LoadFromResourceName(HInstance, 'BS_LANDSCAPE');
end;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PaperGroupBox;
Left := R.Left + 10;
Top := R.Top + 20;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_SIZE')
else
Caption := BS_PRNDLG_SIZE;
end;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PaperGroupBox;
Left := R.Left + 10;
Top := R.Top + 65;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_SOURCE')
else
Caption := BS_PRNDLG_SOURCE;
end;
SizeComboBox := TbsSkinCombobox.Create(Form);
with SizeComboBox do
begin
Parent := PaperGroupBox;
DefaultFont := DefaultComboboxFont;
UseSkinFont := Self.UseSkinFont;
SkinDataName := FSelectSkinDataName;
SkinData := CtrlSkinData;
Top := R.Top + 17;
Left := R.Left + 65;
Width := 170;
OnChange := SizeComboBoxChange;
end;
SourceComboBox := TbsSkinCombobox.Create(Form);
with SourceComboBox do
begin
Parent := PaperGroupBox;
DefaultFont := DefaultComboboxFont;
UseSkinFont := Self.UseSkinFont;
SkinDataName := FSelectSkinDataName;
SkinData := CtrlSkinData;
Top := R.Top + 60;
Left := R.Left + 65;
Width := 170;
OnChange := SourceComboBoxChange;
end;
//
LoadPapersAndBins;
//
with TbsSkinButton.Create(Form) do
begin
Parent := Form;
DefaultFont := DefaultButtonFont;
UseSkinFont := Self.UseSkinFont;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('MSG_BTN_OK')
else
Caption := BS_MSG_BTN_OK;
ModalResult := mrOk;
Default := True;
SetBounds(Form.ClientWidth - 160,
OrientationGroupBox.Top + OrientationGroupBox.Height + 10,
70, 25);
DefaultHeight := 25;
SkinDataName := FButtonSkinDataName;
SkinData := CtrlSkinData;
end;
with TbsSkinButton.Create(Form) do
begin
Parent := Form;
DefaultFont := DefaultButtonFont;
UseSkinFont := Self.UseSkinFont;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('MSG_BTN_CANCEL')
else
Caption := BS_MSG_BTN_CANCEL;
ModalResult := mrCancel;
Cancel := True;
SetBounds(Form.ClientWidth - 80,
OrientationGroupBox.Top + OrientationGroupBox.Height + 10,
70, 25);
SkinDataName := FButtonSkinDataName;
SkinData := CtrlSkinData;
Form.ClientHeight := Top + Height + 10;
end;
OldPrinterIndex := Printer.PrinterIndex;
try
if Form.ShowModal = mrOk
then
begin
Result := True;
end
else
begin
RestoreDocumentProperties;
if Printer.PrinterIndex <> OldPrinterIndex
then
Printer.PrinterIndex := OldPrinterIndex;
Result := False;
end;
finally
Form.Free;
end;
end;
procedure TbsSkinPrinterSetupDialog.Notification(AComponent: TComponent;
Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
if (Operation = opRemove) and (AComponent = FSD) then FSD := nil;
if (Operation = opRemove) and (AComponent = FCtrlFSD) then FCtrlFSD := nil;
end;
procedure TbsSkinPrinterSetupDialog.SetDefaultButtonFont(Value: TFont);
begin
FDefaultButtonFont.Assign(Value);
end;
procedure TbsSkinPrinterSetupDialog.SetDefaultLabelFont(Value: TFont);
begin
FDefaultLabelFont.Assign(Value);
end;
procedure TbsSkinPrinterSetupDialog.SetDefaultSelectFont(Value: TFont);
begin
FDefaultSelectFont.Assign(Value);
end;
function TbsSkinPrinterSetupDialog.GetTitle: string;
begin
Result := FTitle;
end;
procedure TbsSkinPrinterSetupDialog.SetTitle(const Value: string);
begin
FTitle := Value;
end;
// TbsSkinSmallPrintDialog
constructor TbsSkinSmallPrintDialog.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FTitle := 'Print setup';
FAlphaBlend := False;
FAlphaBlendAnimation := False;
F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -