?? bsskinprinter.pas
字號:
Form.Position := poScreenCenter;
Form.Caption := FTitle;
BSF := TbsBusinessSkinForm.Create(Form);
BSF.BorderIcons := [];
BSF.SkinData := SkinData;
BSF.MenusSkinData := CtrlSkinData;
BSF.AlphaBlend := AlphaBlend;
BSF.AlphaBlendAnimation := AlphaBlendAnimation;
BSF.AlphaBlendValue := AlphaBlendValue;
Form.ClientWidth := 460;
Form.ClientHeight := 340;
PrinterGroupBox := TbsSkinGroupBox.Create(Self);
with PrinterGroupBox do
begin
Parent := Form;
Left := 10;
Top := 10;
Width := Form.ClientWidth - 20;
Height := 150;
SkinData := CtrlSkinData;
if (CtrlSkinData <> nil) and (CtrlSkinData.ResourceStrData <> nil)
then
Caption := CtrlSkinData.ResourceStrData.GetResStr('PRNDLG_PRINTER')
else
Caption := BS_PRNDLG_PRINTER;
if FGroupBoxTransparentMode then TransparentMode := True;
end;
R := PrinterGroupBox.GetSkinClientRect;
with TbsSkinStdLabel.Create(Self) do
begin
Parent := PrinterGroupBox;
Left := R.Left + 10;
Top := R.Top + 10;
WordWrap := False;
DefaultFont := DefaultLabelFont;
UseSkinFont := Self.UseSkinFont;
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;
if FGroupBoxTransparentMode then TransparentMode := True;
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;
if FGroupBoxTransparentMode then TransparentMode := True;
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;
fi
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -