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

📄 main.pas

📁 非常好的xp界面控件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, xpPanel, StdCtrls, xpWindow, xpButton, ComCtrls,
  xpCheckBox, xpGraphUtil, ShellApi, Spin, xpBitBtn, ExtDlgs, xpEdit,
  xpPages, xpCombo;

type
  TForm1 = class(TForm)
    xpPanel1: TxpPanel;
    xpPanel2: TxpPanel;
    xpWindow1: TxpWindow;
    Label1: TLabel;
    xppControls: TxpPanel;
    xppWindow: TxpPanel;
    xppPanel: TxpPanel;
    xppSample: TxpPanel;
    ImageList1: TImageList;
    xpPanel10: TxpPanel;
    xpCheckBox11: TxpCheckBox;
    Label7: TLabel;
    xpCheckBox12: TxpCheckBox;
    xpCheckBox13: TxpCheckBox;
    xpCheckBox14: TxpCheckBox;
    xpCheckBox15: TxpCheckBox;
    Label8: TLabel;
    SpinEdit1: TSpinEdit;
    xpPanel11: TxpPanel;
    xpCheckBox16: TxpCheckBox;
    xpCheckBox17: TxpCheckBox;
    xpCheckBox18: TxpCheckBox;
    FontDialog1: TFontDialog;
    ColorDialog1: TColorDialog;
    xpButton4: TxpButton;
    Label9: TLabel;
    SpinEdit2: TSpinEdit;
    Label10: TLabel;
    SpinEdit3: TSpinEdit;
    xpPanel12: TxpPanel;
    xpCheckBox19: TxpCheckBox;
    xpCheckBox20: TxpCheckBox;
    xpButton5: TxpButton;
    xpButton6: TxpButton;
    ComboBox3: TComboBox;
    xpCheckBox21: TxpCheckBox;
    ComboBox4: TComboBox;
    xpBitBtn1: TxpBitBtn;
    OpenPictureDialog1: TOpenPictureDialog;
    xpCheckBox22: TxpCheckBox;
    Label11: TLabel;
    Label12: TLabel;
    xpPanel13: TxpPanel;
    xpPanel14: TxpPanel;
    xpPanel15: TxpPanel;
    xpSampleButton: TxpButton;
    xpSampleBitBtn: TxpBitBtn;
    xpSampleCheckBox: TxpCheckBox;
    xpCheckBox24: TxpCheckBox;
    xpCheckBox23: TxpCheckBox;
    xpCheckBox25: TxpCheckBox;
    xpCheckBox26: TxpCheckBox;
    xpCheckBox27: TxpCheckBox;
    xpCheckBox28: TxpCheckBox;
    xpPanel16: TxpPanel;
    xpCheckBox30: TxpCheckBox;
    xpCheckBox31: TxpCheckBox;
    xpEdit1: TxpEdit;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    xpPanel17: TxpPanel;
    xpButton2: TxpButton;
    xpButton1: TxpButton;
    xpButton3: TxpButton;
    xpPanel18: TxpPanel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    xpPanel19: TxpPanel;
    Label20: TLabel;
    Label21: TLabel;
    Panel1: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    xpPanel8: TxpPanel;
    xpCheckBox5: TxpCheckBox;
    xpCheckBox6: TxpCheckBox;
    xpCheckBox7: TxpCheckBox;
    xpCheckBox8: TxpCheckBox;
    Panel8: TPanel;
    xpPanel7: TxpPanel;
    xpCheckBox1: TxpCheckBox;
    xpCheckBox2: TxpCheckBox;
    xpCheckBox3: TxpCheckBox;
    xpCheckBox4: TxpCheckBox;
    Panel9: TPanel;
    xpPanel3: TxpPanel;
    xpCheckBox9: TxpCheckBox;
    xpCheckBox10: TxpCheckBox;
    Panel10: TPanel;
    xpPanel4: TxpPanel;
    xpCheckBox29: TxpCheckBox;
    xpCheckBox32: TxpCheckBox;
    xpPanel5: TxpPanel;
    xpCheckBox33: TxpCheckBox;
    xpCheckBox34: TxpCheckBox;
    xpCheckBox35: TxpCheckBox;
    Panel11: TPanel;
    Panel12: TPanel;
    xpPanel9: TxpPanel;
    Label2: TLabel;
    Label3: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    xpButton7: TxpButton;
    xpButton8: TxpButton;
    xpButton9: TxpButton;
    xpButton10: TxpButton;
    Panel13: TPanel;
    Panel14: TPanel;
    Panel15: TPanel;
    Button1: TButton;
    xpButton11: TxpButton;
    xppPages: TxpPanel;
    ImageList2: TImageList;
    xpPageControl1: TxpPageControl;
    xpTabSheet1: TxpTabSheet;
    Label4: TLabel;
    xpTabSheet2: TxpTabSheet;
    xpTabSheet3: TxpTabSheet;
    Label5: TLabel;
    xpTabSheet4: TxpTabSheet;
    Label6: TLabel;
    GroupBox3: TGroupBox;
    Label13: TLabel;
    ComboBox5: TComboBox;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    GroupBox2: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    CheckBox1: TCheckBox;
    ComboBox6: TComboBox;
    CheckBox2: TCheckBox;
    Button2: TButton;
    CheckBox3: TCheckBox;
    Button3: TButton;
    CheckBox4: TCheckBox;
    ComboBox7: TComboBox;
    xpPanel6: TxpPanel;
    xpCheckBox37: TxpCheckBox;
    xpComboBox1: TxpComboBox;
    ImageList3: TImageList;
    Label22: TLabel;
    ComboBox8: TComboBox;
    xpCheckBox36: TxpCheckBox;
    ComboBox9: TComboBox;
    Label23: TLabel;
    procedure xpButton1Click(Sender: TObject);
    procedure xpCheckBox1Click(Sender: TObject);
    procedure xpCheckBox5Click(Sender: TObject);
    procedure xpCheckBox6Click(Sender: TObject);
    procedure xpCheckBox7Click(Sender: TObject);
    procedure xpCheckBox8Click(Sender: TObject);
    procedure xpCheckBox9Click(Sender: TObject);
    procedure xpCheckBox10Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Label7Click(Sender: TObject);
    procedure Label8Click(Sender: TObject);
    procedure xpCheckBox11Click(Sender: TObject);
    procedure xpCheckBox15Click(Sender: TObject);
    procedure SpinEdit1Change(Sender: TObject);
    procedure xpCheckBox16Click(Sender: TObject);
    procedure xpCheckBox17Click(Sender: TObject);
    procedure xpCheckBox18Click(Sender: TObject);
    procedure xpButton4Click(Sender: TObject);
    procedure SpinEdit2Change(Sender: TObject);
    procedure SpinEdit3Change(Sender: TObject);
    procedure xpWindow1CustomButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure xpWindow1CustomButtonDraw(Sender: TObject; ACanvas: TCanvas;
      AButtonRect: TRect; AButtonIndex: Integer;
      AState: TTitleButtonState);
    procedure xpCheckBox19Click(Sender: TObject);
    procedure xpWindow1CustomDrawTitle(Sender: TObject; ACanvas: TCanvas;
      ATitleRect: TRect; AActive: Boolean);
    procedure xpButton5Click(Sender: TObject);
    procedure ComboBox3Change(Sender: TObject);
    procedure xpCheckBox20Click(Sender: TObject);
    procedure xpCheckBox21Click(Sender: TObject);
    procedure xpBitBtn1Click(Sender: TObject);
    procedure ComboBox4Change(Sender: TObject);
    procedure xpCheckBox22Click(Sender: TObject);
    procedure xpButton7Click(Sender: TObject);
    procedure xpButton9Click(Sender: TObject);
    procedure xpCheckBox24Click(Sender: TObject);
    procedure xpCheckBox23Click(Sender: TObject);
    procedure xpCheckBox25Click(Sender: TObject);
    procedure xpCheckBox26Click(Sender: TObject);
    procedure xpCheckBox27Click(Sender: TObject);
    procedure xpCheckBox28Click(Sender: TObject);
    procedure xpCheckBox30Click(Sender: TObject);
    procedure xpCheckBox31Click(Sender: TObject);
    procedure xpPanel17TitleClick(Sender: TObject);
    procedure xpCheckBox29Click(Sender: TObject);
    procedure xpCheckBox32Click(Sender: TObject);
    procedure xpCheckBox33Click(Sender: TObject);
    procedure xppSampleAfterClose(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox5Change(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure ComboBox6Change(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure ComboBox7Change(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure xpPageControl1Change(Sender: TObject);
    procedure xpPageControl1DrawItem(Control: TWinControl; Index: Integer;
      ACanvas: TControlCanvas; ARect: TRect; State: TOwnerDrawState);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure xpCheckBox37Click(Sender: TObject);
    procedure ComboBox8Change(Sender: TObject);
    procedure xpCheckBox36Click(Sender: TObject);
    procedure ComboBox9Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

const
  cTabWidth  : Integer = 110;
  cTabHeight : Integer = 24;


implementation

{$R *.DFM}

procedure TForm1.xpButton1Click(Sender: TObject);
begin
  xppPanel.Visible := (Sender = xpButton2);
  xppControls.Visible := (Sender = xpButton3);
  xppWindow.Visible := (Sender = xpButton1);
  xppPages.Visible := (Sender = xpButton11);
end;

procedure TForm1.xpCheckBox1Click(Sender: TObject);
begin
  if (Sender as TxpCheckBox).Checked then
    xppSample.RoundedCorner := xppSample.RoundedCorner + [TRoundedCorner ((Sender as TxpCheckBox).Tag)]
  else
    xppSample.RoundedCorner := xppSample.RoundedCorner - [TRoundedCorner ((Sender as TxpCheckBox).Tag)];
end;

procedure TForm1.xpCheckBox5Click(Sender: TObject);
begin
  xppSample.ShowBorder := (Sender as TxpCheckBox).Checked;
end;

procedure TForm1.xpCheckBox6Click(Sender: TObject);
begin
  xppSample.TitleShow := (Sender as TxpCheckBox).Checked;
  xppSample.Repaint;
end;

procedure TForm1.xpCheckBox7Click(Sender: TObject);
begin
  xppSample.TitleGradient := (Sender as TxpCheckBox).Checked;
end;

procedure TForm1.xpCheckBox8Click(Sender: TObject);
begin
  xppSample.GradientFill := (Sender as TxpCheckBox).Checked;  
end;

procedure TForm1.xpCheckBox9Click(Sender: TObject);
var
  BG : TBitmap;
begin
  if (Sender as TxpCheckBox).Checked then
  begin
    BG := TBitmap.Create;
    try
      ImageList1.GetBitmap (0, BG);
      xppSample.BGImage.Assign (BG);
    finally
      BG.Free;
    end;
  end
  else
    xppSample.BGImage.ReleaseHandle;

  xppSample.Repaint;
end;

procedure TForm1.xpCheckBox10Click(Sender: TObject);
var
  BG : TBitmap;
begin
  if (Sender as TxpCheckBox).Checked then
  begin
    BG := TBitmap.Create;
    try
      ImageList1.GetBitmap (1, BG);
      xppSample.TitleImage.Assign (BG);
    finally
      BG.Free;
    end;
  end
  else
    xppSample.TitleImage.ReleaseHandle;

  SendMessage (xppSample.Handle, WM_NCPAINT,0 ,0);
end;





procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  xppSample.GradientFill := true;
  if xpCheckBox9.Checked then
  begin
    xpCheckBox9.Checked := False;
    xpCheckBox9Click (xpCheckBox9);
  end;

  xppSample.FillDirection := TFillDirection (ComboBox1.ItemIndex);

  if not xpCheckBox8.Checked then
  begin
    xpCheckBox8.Checked := True;
    xpCheckBox8Click (xpCheckBox8);
  end;

end;


procedure TForm1.ComboBox2Change(Sender: TObject);
begin
  xppSample.TitleGradient := true;
  if xpCheckBox10.Checked then
  begin
    xpCheckBox10.Checked := False;
    xpCheckBox10Click (xpCheckBox10);
  end;
  if not xpCheckBox6.Checked then
  begin
    xpCheckBox6.Checked := true;
    xpCheckBox6Click (xpCheckBox6);
  end;
  xppSample.TitleFillDirect := TFillDirection (ComboBox2.ItemIndex);
  if not xpCheckBox7.Checked then
  begin
    xpCheckBox7.Checked := True;
    xpCheckBox7Click (xpCheckBox7);
  end;

  //SendMessage (xppSample.Handle, WM_NCPAINT, 0, 0);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.Cursors[10] := LoadCursor(0, MakeIntResource (32649));

  ComboBox1.ItemIndex := 2;
  ComboBox2.ItemIndex := 2;
  ComboBox3.ItemIndex := 4;
  ComboBox4.ItemIndex := 3;

  xppControls.Align := alClient;
  xppWindow.Align := alClient;
  xppPanel.Align := alClient;
  xppPages.Align := alClient;

  xpPanel2.GradientFill := true;

  ComboBox5.ItemIndex := 3;
  ComboBox6.ItemIndex := 2;
  ComboBox7.ItemIndex := 0;
  ComboBox8.ItemIndex := 1;
  ComboBox9.ItemIndex := 5;//Integer (xpComboBox1.XPStyle.SelGradientFillDir);
  xpComboBox1.ItemIndex := 0;
end;




procedure TForm1.Label7Click(Sender: TObject);
begin
  ShellExecute (Handle, 'open', 'http:\\www.rhoStyle.com', '', '', SW_SHOWNORMAL);
end;

procedure TForm1.Label8Click(Sender: TObject);
begin
  ShellExecute (Handle, 'open', 'mailto:support@rhoStyle.com', '', '', SW_SHOWNORMAL);
end;

procedure TForm1.xpCheckBox11Click(Sender: TObject);
begin
  xpWindow1.StickWindow.Active := (Sender as TxpCheckBox).Checked;

  xpCheckBox12.Enabled := (Sender as TxpCheckBox).Checked;
  xpCheckBox13.Enabled := (Sender as TxpCheckBox).Checked;
  xpCheckBox14.Enabled := (Sender as TxpCheckBox).Checked;
  xpCheckBox15.Enabled := (Sender as TxpCheckBox).Checked;
  SpinEdit1.Enabled := (Sender as TxpCheckBox).Checked;
end;

procedure TForm1.xpCheckBox15Click(Sender: TObject);
begin
  if (Sender as TxpCheckBox).Checked then
    xpWindow1.StickWindow.DockBorders := xpWindow1.StickWindow.DockBorders + [TDockBorder ((Sender as TxpCheckBox).Tag)]
  else
    xpWindow1.StickWindow.DockBorders := xpWindow1.StickWindow.DockBorders - [TDockBorder ((Sender as TxpCheckBox).Tag)];
end;


procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
  xpWindow1.StickWindow.StickAt := SpinEdit1.Value;
end;


procedure TForm1.xpCheckBox16Click(Sender: TObject);
begin
  xpWindow1.xpCaption.Active := (Sender as TxpCheckBox).Checked;

  xpCheckBox17.Enabled := (Sender as TxpCheckBox).Checked;
  xpCheckBox18.Enabled := (Sender as TxpCheckBox).Checked;
  xpCheckBox19.Enabled := (Sender as TxpCheckBox).Checked;
  xpButton4.Enabled := (Sender as TxpCheckBox).Checked;
  Label9.Enabled := (Sender as TxpCheckBox).Checked;
  Label10.Enabled := (Sender as TxpCheckBox).Checked;
  SpinEdit2.Enabled := (Sender as TxpCheckBox).Checked;
  SpinEdit3.Enabled := (Sender as TxpCheckBox).Checked;  
end;


procedure TForm1.xpCheckBox17Click(Sender: TObject);
begin
  xpWindow1.xpCaption.DisplayAppIcon := (sender as TxpCheckBox).Checked;
end;


procedure TForm1.xpCheckBox18Click(Sender: TObject);
begin
  xpWindow1.xpCaption.RoundedCorners := (sender as TxpCheckBox).Checked;
end;

procedure TForm1.xpButton4Click(Sender: TObject);
begin
  FontDialog1.Font.Assign (xpWindow1.xpCaption.Font);
  if FontDialog1.Execute then
  begin
    xpWindow1.xpCaption.Font.Assign (FontDialog1.Font);
    xpWindow1.ForceReDraw;
  end;
end;


procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
  xpWindow1.xpCaption.Height := SpinEdit2.Value;
end;


procedure TForm1.SpinEdit3Change(Sender: TObject);
begin
  xpWindow1.xpCaption.CustomButtonCount := SpinEdit3.Value;
end;

procedure TForm1.xpWindow1CustomButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  ShowMessageFmt ('Custom button %d clicked', [AButtonIndex]);
end;

procedure TForm1.xpWindow1CustomButtonDraw(Sender: TObject;
  ACanvas: TCanvas; AButtonRect: TRect; AButtonIndex: Integer;
  AState: TTitleButtonState);
const
  cStr : array [1..8] of Char = ('x', 'p', 'S', 't', 'y', 'l', 'e', '~');

⌨️ 快捷键说明

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