inno setup自带的安装界面太老套了,如何实现类似网易,微信那种带界面的安装?一般有两种思路:提供一个单独的下载器,然后通过下载器将你用innosetup 打包后的软件下载下来,然后,静默安装这个包;另外一个,就是将自带的安装界面全部隐藏掉,通过在pascal下利用botva2.dll和innocallback.dll两个文件定制安装界面。网上有很多讲述如何制作安装界面的,但很少有例子实现边框和阴影的,下面我说下我实现的方案。
一.窗口支持边框
要使窗口支持边框,第一种方案就是背景用一张带边框的图片。当然,这种方法能实现,不是我想表达的。另外一种方案:用TPanel 贴图,然后窗口留白,窗口的背景颜色设置为边框设置的颜色。下面是主窗口WizardForm和背景留白控件TPanel的关键代码:
WIZARDFORM_BORDER_WIDTH 设置为边框的宽度
// 初始化主窗口
with WizardForm do
begin
BorderStyle := bsNone;
Position := poScreenCenter;
Width := WIZARDFORM_WIDTH_NORMAL;
Height := WIZARDFORM_HEIGHT_NORMAL;
Color := $FFc7c7c7;
NextButton.Height := 0;
CancelButton.Height := 0;
BackButton.Visible := FALSE;
end;
// 初始化主窗口背景
mainBkPanel := TPanel.Create(WizardForm);
mainBkPanel.Parent := WizardForm;
mainBkPanel.ParentBackground := True;
mainBkPanel.Top := WIZARDFORM_BORDER_WIDTH;
mainBkPanel.Left := W