⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skinprinter.pas

📁 DynamicSkinForm.v9.15.For.Delphi.BCB 很好的皮肤控件
💻 PAS
📖 第 1 页 / 共 5 页
字号:
        S := SP_PRNDLG_WARNING;
      SkinMessage.MessageDlg(S, mtError, [mbOk], 0);
      SkinMessage.Free;
      Exit;
    end;

  Form := TForm.Create(Application);
  Form.BorderStyle := bsDialog;
  Form.Position := poScreenCenter;
  Form.Caption := FTitle;
  DSF := TspDynamicSkinForm.Create(Form);
  DSF.BorderIcons := [];
  DSF.SizeAble := False;
  DSF.SkinData := SkinData;
  DSF.MenusSkinData := CtrlSkinData;
  DSF.AlphaBlend := AlphaBlend;
  DSF.AlphaBlendAnimation := AlphaBlendAnimation;
  DSF.AlphaBlendValue := AlphaBlendValue;

  Form.ClientWidth :=  460;
  Form.ClientHeight := 340;

  PrinterGroupBox := TspSkinGroupBox.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 := SP_PRNDLG_PRINTER;
    if FGroupBoxTransparentMode then TransparentMode := True;
  end;

  R := PrinterGroupBox.GetSkinClientRect;

  with TspSkinStdLabel.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 := SP_PRNDLG_NAME;
  end;

  PrinterCombobox := TspSkinCombobox.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 TspSkinButton.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 := SP_PRNDLG_PROPERTIES;
    OnClick := PropertiesButtonClick;
    TabStop := True;
  end;

  with TspSkinStdLabel.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 := SP_PRNDLG_STATUS;
  end;

  L1 := TspSkinStdLabel.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 TspSkinStdLabel.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 := SP_PRNDLG_TYPE;
  end;

  L2 := TspSkinStdLabel.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 TspSkinStdLabel.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 := SP_PRNDLG_WHERE;
  end;


  L3 := TspSkinStdLabel.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 TspSkinStdLabel.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 := SP_PRNDLG_COMMENT;
  end;

  L4 := TspSkinStdLabel.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 := TspSkinGroupBox.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 := SP_PRNDLG_PAPER;
   if FGroupBoxTransparentMode then TransparentMode := True;
  end;

  OrientationGroupBox := TspSkinGroupBox.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 := SP_PRNDLG_ORIENTATION;
    if FGroupBoxTransparentMode then TransparentMode := True;  
  end;

  R := OrientationGroupBox.GetSkinClientRect;

  RBPortrait := TspSkinCheckRadioBox.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 := SP_PRNDLG_PORTRAIT;
    OnClick := RBPortraitClick;
    TabStop := True;
  end;

  RBLandScape := TspSkinCheckRadioBox.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 := SP_PRNDLG_LANDSCAPE;
    OnClick := RBLandScapeClick;
    TabStop := True;
  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, 'SP_PORTRAIT')
    else
      Picture.Bitmap.LoadFromResourceName(HInstance, 'SP_LANDSCAPE');
  end;

  with TspSkinStdLabel.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 := SP_PRNDLG_SIZE;
  end;

  with TspSkinStdLabel.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 := SP_PRNDLG_SOURCE;
  end;

  SizeComboBox := TspSkinCombobox.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 := TspSkinCombobox.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 TspSkinButton.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 := SP_MSG_BTN_OK;
    ModalResult := mrOk;
    Default := True;
    SetBounds(Form.ClientWidth - 160,
              OrientationGroupBox.Top + OrientationGroupBox.Height + 10,
              70, 25);
    DefaultHeight := 25;
    SkinDataName := FButtonSkinDataName;
    SkinData := CtrlSkinData;
    TabStop := True;
  end;

  with TspSkinButton.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 := SP_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;
    TabStop := True;
  end;
 
  OldPrinterIndex := Printer.PrinterIndex;

  try

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -