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

📄 shintdesigner.pas

📁 Alpha Controls 5.40,delphi上的alpha开发源码控件包。没有密码。5.40版的最新版。
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit sHintDesigner;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, sHintManager, ImgList, ExtDlgs, StdCtrls, Buttons, ExtCtrls, ComCtrls,
  sEdit, sBitBtn, sSpeedButton, sPanel, sCheckBox, sGroupBox, sTrackBar,
  sComboBox, sLabel, sSkinProvider, sColorSelect, sDialogs;

type
  THintDesigner = class(TForm)
    Label1: TsLabel;
    Label3: TsLabel;
    Label5: TsLabel;
    Label6: TsLabel;
    Label7: TsLabel;
    Label8: TsLabel;
    Label9: TsLabel;
    Label10: TsLabel;
    sComboBox4: TsComboBox;
    sComboBox1: TsComboBox;
    sTrackBar1: TsTrackBar;
    sTrackBar2: TsTrackBar;
    sTrackBar3: TsTrackBar;
    sTrackBar4: TsTrackBar;
    sTrackBar5: TsTrackBar;
    sTrackBar21: TsTrackBar;
    GroupBox1: TsGroupBox;
    Label12: TsLabel;
    Label13: TsLabel;
    Label14: TsLabel;
    sCheckBox1: TsCheckBox;
    sTrackBar9: TsTrackBar;
    sTrackBar10: TsTrackBar;
    sTrackBar11: TsTrackBar;
    GroupBox2: TsGroupBox;
    GroupBox3: TsGroupBox;
    BitBtn1: TsBitBtn;
    Panel1: TsPanel;
    sSpinEdit2: TsEdit;
    FontDialog1: TFontDialog;
    PopupMenu1: TPopupMenu;
    Gotohomesite1: TMenuItem;
    Feedback1: TMenuItem;
    sTrackBar12: TsTrackBar;
    Label17: TsLabel;
    Label2: TsLabel;
    Panel4: TsPanel;
    PaintBox1: TPaintBox;
    TrackBar1: TsTrackBar;
    Label11: TsLabel;
    BitBtn2: TsBitBtn;
    BitBtn3: TsBitBtn;
    OpenPictureDialog1: TsOpenPictureDialog;
    TrackBar2: TsTrackBar;
    Label15: TsLabel;
    PaintBox2: TPaintBox;
    SaveDialog1: TsSaveDialog;
    OpenDialog1: TsOpenDialog;
    sSkinProvider1: TsSkinProvider;
    sColorSelect2: TsColorSelect;
    sColorSelect3: TsColorSelect;
    sColorSelect4: TsColorSelect;
    sBitBtn1: TsBitBtn;
    sBitBtn2: TsBitBtn;
    procedure sComboBox4Change(Sender: TObject);
    procedure sComboBox1Change(Sender: TObject);
    procedure sTrackBar1Change(Sender: TObject);
    procedure sTrackBar2Change(Sender: TObject);
    procedure sTrackBar3Change(Sender: TObject);
    procedure sTrackBar4Change(Sender: TObject);
    procedure sTrackBar5Change(Sender: TObject);
    procedure sTrackBar21Change(Sender: TObject);
    procedure sSpinEdit2Change(Sender: TObject);
    procedure sCheckBox1Click(Sender: TObject);
    procedure sTrackBar9Change(Sender: TObject);
    procedure sTrackBar10Change(Sender: TObject);
    procedure sTrackBar11Change(Sender: TObject);
    procedure sTrackBar12Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure PaintBox1Paint(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TrackBar1Change(Sender: TObject);
    procedure TrackBar2Change(Sender: TObject);
    procedure PaintBox2Paint(Sender: TObject);
    procedure PaintBox2MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure sColorSelect2Change(Sender: TObject);
    procedure sColorSelect3Change(Sender: TObject);
    procedure sColorSelect4Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure sBitBtn1Click(Sender: TObject);
    procedure sBitBtn2Click(Sender: TObject);
    procedure OpenDialog1SelectionChange(Sender: TObject);
  public
    sHintManager1 : TsHintManager;
    PreviewWnd : TsCustomHintWindow;
    procedure SetPanelColor(Panel : TPanel; c : TColor);
    procedure InitControls(Manager : TsHintManager; Sender : TObject);
    procedure LoadPreserved(i : integer);
    procedure SetcustomStyle;
    procedure PrepareMainBmp;
    procedure LoadFromFile(const FileName : string);
    procedure WndProc (var Message: TMessage); override;
    procedure InitLngCaptions;
  end;

var
  HintDesigner: THintDesigner;
  MainBmp : TBitmap;

procedure CreateEditorForm;
procedure OpenDesigner;
procedure KillForm;

implementation

uses sConst, ShellApi, sGraphUtils, acntUtils, sGradient, sGradBuilder, sStoreUtils,
  sStyleSimply, sMessages, IniFiles, sSkinManager, sStrings, sVCLUtils;

const
  sSection = 'Properties';

var
  Changing : boolean = False;

{$R *.DFM}

procedure CreateEditorForm;
begin
  Application.CreateForm(THintDesigner, HintDesigner);
  HintDesigner.InitLngCaptions;
//  SkinForm(HintDesigner);
end;

procedure OpenDesigner;
begin
  HintDesigner.ShowModal;
end;

procedure KillForm;
begin
//  UnSkinform(HintDesigner);
  if Assigned(HintDesigner) then HintDesigner.Release;
end;

procedure THintDesigner.sComboBox4Change(Sender: TObject);
begin
  if sComboBox4.ItemIndex < sComboBox4.Items.Count - 1
    then sHintManager1.PreDefinitions := asHintsPredefinitions[sComboBox4.ItemIndex];
  sHintManager1.UpdateProperties;
  InitControls(sHintManager1, sComboBox4);
end;

procedure THintDesigner.sComboBox1Change(Sender: TObject);
begin
  sHintManager1.HintKind.Style := aHintStyles[sComboBox1.ItemIndex];
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar1Change(Sender: TObject);
begin
  sHintManager1.HintKind.BevelWidth := sTrackBar1.Position;
  SetcustomStyle;
end;

procedure THintDesigner.sTrackBar2Change(Sender: TObject);
begin
  sHintManager1.HintKind.ExOffset := sTrackBar2.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar3Change(Sender: TObject);
begin
  sHintManager1.HintKind.MarginH := sTrackBar3.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar4Change(Sender: TObject);
begin
  sHintManager1.HintKind.MarginV := sTrackBar4.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar5Change(Sender: TObject);
begin
  sHintManager1.HintKind.Radius := sTrackBar5.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar21Change(Sender: TObject);
begin
  Label9.Caption := LoadStr(s_HintDsgnMaxWidth) + ' = ' + IntToStr(sTrackBar21.Position);
  sHintManager1.HintKind.MaxWidth := sTrackBar21.Position;
  SetcustomStyle
end;

procedure THintDesigner.sSpinEdit2Change(Sender: TObject);
begin
  if sSpinEdit2.Text = '' then sSpinEdit2.Text := '0';
  try
    sHintManager1.PauseHide := StrToInt(sSpinEdit2.Text);
  except
    sSpinEdit2.Text := '5000';
  end;
end;

procedure THintDesigner.sCheckBox1Click(Sender: TObject);
begin
  sHintManager1.HintKind.ShadowEnabled := sCheckBox1.Checked;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar9Change(Sender: TObject);
begin
  sHintManager1.HintKind.ShadowBlur := sTrackBar9.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar10Change(Sender: TObject);
begin
  sHintManager1.HintKind.ShadowOffset := sTrackBar10.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar11Change(Sender: TObject);
begin
  sHintManager1.HintKind.ShadowTransparency := sTrackBar11.Position;
  SetcustomStyle
end;

procedure THintDesigner.sTrackBar12Change(Sender: TObject);
begin
  sHintManager1.HintKind.Transparency := sTrackBar12.Position;
  SetcustomStyle
end;

procedure THintDesigner.BitBtn1Click(Sender: TObject);
begin
  Close;
end;

procedure THintDesigner.SpeedButton1Click(Sender: TObject);
begin
  ShellExecute(Application.Handle, 'open', PChar('http://www.alphaskins.com'), nil, nil, ord(soDefault));
end;

{procedure THintDesigner.ChangeColor(Button: TPanel);
var
  c : TColor;
begin
  ColorDialog1.Color := Button.Color;
  if ColorDialog1.Execute then begin
    c := ColorToRGB(ColorDialog1.Color);
    if (GetRValue(C) + GetGValue(C) + GetBValue(C)) / 3 > 129 then begin
      Button.Font.Color := clBlack;
    end
    else begin
      Button.Font.Color := clWhite;
    end;
    Button.Color := C;
  end;
end;}

procedure THintDesigner.InitControls(Manager: TsHintManager; Sender : TObject);
begin
  if Changing then Exit;
  Changing := True;
  if Manager.Skinned then begin
    TrackBar1.Enabled := False;
    TrackBar2.Enabled := False;
    sTrackBar2.Enabled := False;
    sTrackBar5.Enabled := False;
    sTrackBar9.Enabled := False;
    sTrackBar10.Enabled := False;
    sTrackBar11.Enabled := False;
    sTrackBar12.Enabled := False;
    sBitBtn1.Enabled := False;
    sBitBtn2.Enabled := False;
    BitBtn2.Enabled := False;
    BitBtn3.Enabled := False;
    sColorSelect2.Enabled := False;
    sColorSelect3.Enabled := False;
    sColorSelect4.Enabled := False;
    sCheckBox1.Enabled := False;
  end;
{  if Manager.ShadowMode <> hmCustom then begin
    sColorSelect1.Enabled := False;
    sCheckBox1.Enabled := False;
    sTrackBar9.Enabled := False;
    sTrackBar10.Enabled := False;
    sTrackBar11.Enabled := False;
    GroupBox1.Caption := ' Custom shadow disabled ';
  end;}

  if sComboBox4 <> Sender then sComboBox4.ItemIndex := ord(Manager.Predefinitions);
  sComboBox1.ItemIndex := ord(Manager.HintKind.Style);
  sTrackBar1.Position := Manager.HintKind.BevelWidth;
  sTrackBar2.Position := Manager.HintKind.ExOffset;
  sTrackBar3.Position := Manager.HintKind.MarginH;
  sTrackBar4.Position := Manager.HintKind.MarginV;
  sTrackBar21.Position := Manager.HintKind.MaxWidth;
  sSpinEdit2.Text := IntToStr(Manager.PauseHide);
  sTrackBar5.Position := Manager.HintKind.Radius;

  sColorSelect4.ColorValue := Manager.HintKind.Color;

  sTrackBar12.Position := Manager.HintKind.Transparency;

  sColorSelect2.ColorValue := Manager.HintKind.ColorBorderTop;
  sColorSelect3.ColorValue := Manager.HintKind.ColorBorderBottom;

  sTrackBar9.Position := Manager.HintKind.ShadowBlur;
  sTrackBar10.Position := Manager.HintKind.ShadowOffset;
  sTrackBar11.Position := Manager.HintKind.ShadowTransparency;
  sCheckBox1.Checked := Manager.HintKind.ShadowEnabled;

  TrackBar1.Position := Manager.HintKind.TexturePercent;
  TrackBar2.Position := Manager.HintKind.GradientPercent;

  FontDialog1.Font.Assign(Manager.HintKind.Font);

  PaintBox1.Repaint;
  PaintBox2.Repaint;
  Changing := False;
end;

procedure THintDesigner.LoadPreserved(i: integer);
begin
  sHintManager1.PreDefinitions := asHintsPredefinitions[i];
  InitControls(sHintManager1, nil);
end;

procedure THintDesigner.SetPanelColor(Panel: TPanel; c: TColor);
var
  nc : TColor;
begin
  nc := ColorToRGB(C);
  Panel.Color := nc;
  if (GetRValue(nC) + GetGValue(nC) + GetBValue(nC)) / 3 > 129 then begin
    Panel.Font.Color := clBlack;
  end

⌨️ 快捷键说明

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