|
请问要在自定义安装页面显示圆角提示,找到了个事例代码,可是合并起来一直不成功,要怎么弄呢?合并代码有什么需要注意的吗? 需要的效果(此图是PS的): 原自定义页面代码: - var
- DataDirPage: TInputDirWizardPage;
- procedure InitializeWizard;
- begin
- WizardForm.BORDERICONS := [biHelp, biSystemMenu, biMinimize];//去除关于安装程序
- WizardForm.WizardSmallBitmapImage.width := 100;//右上角图片宽度
- Wizardform.WizardSmallBitmapImage.left := WizardForm.width - 100;//右上角图片位置
- Wizardform.PageNameLabel.width := 495 - 110 - 36;//这儿必须定义,数值根据图片宽度更改,显示软件名称的位置
- Wizardform.PageDescriptionLabel.width := 495 - 110 - 42;//显示页面信息的位置
- { 创建页面 }
- DataDirPage := CreateInputDirPage(wpSelectDir,
- '选择花样存放目录', '您要将花样设计文件存放在哪里?',//页面显示文字
- '选择花样设计文件存放目录.然后单击“下一步”继续.',//页面显示文字
- False, '');
- DataDirPage.Add('');
- { 设置默认值,如果可能则使用先前数值 (reg:HKLM\SOFTWARE\Wilcom\Wilcom ES\9.0S,Work)为获取先前安装数据目录 }
- DataDirPage.Values[0] := ExpandConstant('{reg:HKCU\SOFTWARE\Wilcom\Wilcom EmbroideryStudio\2.0Q,Work}');
- end;
- //获取先前数据目录
- procedure RegisterPreviousData(PreviousDataKey: Integer);
- begin
- { Store the settings so we can restore them next time }
- SetPreviousData(PreviousDataKey, 'DataDir', DataDirPage.Values[0]);
- end;
- //设置默认数据目录
- function NextButtonClick(CurPageID: Integer): Boolean;
- begin
- { Validate certain pages before allowing the user to proceed }
- begin
- if DataDirPage.Values[0] = '' then
- DataDirPage.Values[0] := 'C:\花版';//数据目录
- Result := True;
- end;
- end;
- function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
- MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
- var
- S: String;
- begin
- S := S + MemoDirInfo + NewLine;//准备安装页面显示文字
- S := S + Space + DataDirPage.Values[0] + '(花版存放目录)' + NewLine;//准备安装页面显示文字
- S := S + MemoGroupInfo + NewLine;//准备安装页面显示文字
- S := S + MemoTasksInfo + NewLine;
- Result := S;
- end;
- function GetDataDir(Param: String): String;
- begin
- { Return the selected DataDir }
- Result := DataDirPage.Values[0];
- end;
页面圆角提示代码: - type
- TMoniDesc = record
- Caption,Content:TNewStaticText;
- end;
- var
- BtmImgObj:TBitmapImage;
- Caption,Content:TNewStaticText;
- MD,mMD:TMoniDesc;
- function CreateMoniDesc(Parent:TNewNotebookPage; iX:Integer; iY:Integer; iW:Integer; iH:Integer; iCaptionLeft:Integer; sCaption:String; sContent:String):TMoniDesc;
- begin
- BtmImgObj:=TBitmapimage.Create(WizardForm);
- BtmImgObj.Parent:=Parent;
- BtmImgObj.SetBounds(iX,iY,iW,iH);
- BtmImgObj.Bitmap.Canvas.Pen.Color:=$BFD0D0; //外框颜色
- BtmImgObj.Bitmap.Canvas.Brush.Color:=$D8E9EC; //外框内缘填充颜色
- BtmImgObj.Bitmap.Width:=iW;
- BtmImgObj.Bitmap.Height:=iH;
- BtmImgObj.Bitmap.Canvas.RoundRect(0,0,iW,iH,5,5);
- BtmImgObj.BringToFront;
- Caption:=TNewStaticText.Create(WizardForm);
- Caption.Parent:=Parent;
- Caption.SetBounds(iX+iCaptionLeft,iY-5,Caption.Width,Caption.Height);
- Caption.Caption:=sCaption;
- Caption.Font.Color:=$D54600; //标题字体颜色
- Content:=TNewStaticText.Create(WizardForm);
- Content.Parent:=Parent;
- Content.SetBounds(iX+10,iY+10,iW-20,iH-20);
- Content.WordWrap:=true;
- Content.Caption:=sContent;
- MD.Caption:=Caption;
- MD.Content:=Content;
- Result:=MD;
- end;
- procedure InitializeWizard;
- begin
- //创建SelectDirPage页的“程序安装目录”圆角边框
- CreateMoniDesc(WizardForm.SelectDirPage, 0,70,410,40,10, '程序安装目录','');
- WizardForm.DirEdit.SetBounds(10,WizardForm.DirEdit.Top+15,WizardForm.DirEdit.Width-20,WizardForm.DirEdit.Height);
- WizardForm.DirBrowseButton.SetBounds(WizardForm.DirEdit.Width+10,WizardForm.DirEdit.Top,WizardForm.DirBrowseButton.Width,WizardForm.DirBrowseButton.Height);
- WizardForm.DirEdit.BringToFront;
- WizardForm.DirBrowseButton.BringToFront;
- //创建带有内容的模拟描述控件
- mMD:=CreateMoniDesc(WizardForm.SelectDirPage, 40,130,320,42,130, 'Caption','Hello');
- mMD.Caption.Caption:='温馨提示';
- mMD.Content.Caption:=ExpandConstant('{cm:ISL_CM_Content}');
- end;
请各位帮帮忙! INNO 自定义页面创建圆角提示框.rar (6 K) 下载次数:7
|