在无模式对话框中显示标牌

在安装期间,标牌可以在对话框中显示一系列图像和文本。 通常,标牌用于创建幻灯片或动画的视觉效果,让用户了解安装进度。

在无模式对话框中显示标牌

  1. 在包含标牌的无模式对话框的 Dialog 表中添加一条记录。 显示标牌后,无模式对话框会将控制权返回给安装程序。 这样,安装程序便可以处理消息并更新对话框和标牌。 若要创建无模式对话框,请不要在 Dialog 表的 Attributes 字段中设置模式对话框样式位。 以下 Dialog 表记录指定 ActionDialog 对话框。

    Dialog 表(部分)

    Dialog_ HCentering VCentering 宽度 高度 特性 标题 Control_First Control_Default Control_Cancel
    ActionDialog 50 50 480 240 5 操作 取消 取消 取消

     

  2. 将记录添加到 Control 表,以指定对话框显示标牌。 该记录定义对话框中区域的大小和位置,BBControl 表中列出的标牌控件将在该区域中显示。 以下 Control 表记录定义 ActionDialog 对话框中标牌的位置和大小。

    Control 表(部分)

    Dialog_ 控制 类型 X Y 宽度 高度 特性
    ActionDialog 标牌 标牌 0 110 480 130 1

     

  3. Billboard 表列出标牌控件,并指定何时显示特定的标牌控件。 在 Billboard 表中为每个标牌控件添加一条记录。 Billboard 表监视安装过程中发送的进度消息。 仅当 Billboard 表的 Action 列中列出的操作发送了进度消息,并且已选择安装 Feature_ 字段中的功能时,才会显示标牌。 标牌在显示后会一直可见,直到被另一个标牌遮盖,或直到对话框关闭。 如果为某个操作指定了多个标牌,这些标牌将按照 Ordering 字段指定的顺序逐个显示。 例如,如果运行 InstallFiles 操作并且已选择安装 QuickTest 功能,则以下 Billboard 表条目会先显示 BB1,然后显示 BB2 标牌控件

    Billboard 表(部分)

    标牌 功能 操作 中间件排序
    BB1 QuickTest InstallFiles 1
    BB2 QuickTest InstallFiles 2

     

  4. BBControl 表指定属于 Billboard 表中所列标牌控件的控件。 可以放置在标牌上的控件类型只有文本控件位图控件图标控件。 在每个标牌上可以放置多个控件。 在 BBControl 表的 Billboard_ 字段中输入标牌的名称,该名称必须与 Billboard 表中显示的名称完全。

    每个控件位置指定为控件左上角的坐标。 坐标系原点位于标牌控件的左上角,而不是对话框的某一角。 坐标采用安装程序单位,而不是对话框单位。 安装程序单位等于 10 磅 MS Sans Serif 字号高度的十二分之一。 以下 BBControl 表记录将控件关联到标牌。

    BBControl 表(部分)

    标牌 BBControl 类型 X Y 宽度 高度 特性 文本
    BB1 文本 文本 100 30 280 280 3 第一个标牌
    BB1 Bitmap1 Bitmap 0 0 100 100 3 软件
    BB1 Bitmap2 Bitmap 380 0 100 100 3 Music
    BB2 文本 文本 100 30 280 20 3 第二个标牌
    BB2 Bitmap1 Bitmap 0 0 100 100 3 Music
    BB2 Bitmap2 Bitmap 380 0 100 100 3 软件

     

  5. 若要在 ActionDialog 对话框中显示标牌,必须通过在 EventMapping 表中添加一条记录,来为标牌控件订阅 SetProgress ControlEvent。 当安装程序发布 Event 列中指定的 SetProgress ControlEvent 时,安装程序将设置 Attribute 字段中指定的控件属性。 Event 字段包含 SetProgress ControlEvent 的字符串标识符(不带引号)。 Attribute 字段包含要设置的属性的字符串标识符(不带引号)。 Dialog_ 和 Control_ 字段标识标牌控件,应与 Control 表中的相应字段匹配。 例如,以下 EventMapping 表为控件订阅一个事件。

    EventMapping 表(部分)

    Dialog_ Control_ 事件 Attribute
    ActionDialog 标牌 SetProgress 进度