📄 shintdesigner.pas
字号:
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 + -