撰寫條件式「請等候...」訊息方塊
下列範例說明如何撰寫條件訊息方塊,以快顯並警告使用者,每當使用者提前啟動顯示控制項時,背景工作仍在執行中。
此範例也說明 SpawnWaitDialog ControlEvent 通常可以用來保護觸發視背景工作完成而定之動作的控制項。
在此範例中, 選取對話方塊 包含三個標示為 [ 立即安裝]、[ 下一步] 和 [ 磁片成本 ] 的按鈕控制項,會在安裝程式期間向使用者顯示。 不過,安裝程式也會在顯示此對話方塊時,在背景執行磁碟空間成本工作。 作者想要保護這些按鈕免于啟用,而且如果使用者在成本完成之前按一下任何按鈕,就會顯示「請等候」訊息方塊。 作者也希望此訊息方塊包含 [取消 ] 按鈕,並在背景工作完成後立即消失。
顯示對話方塊,要求使用者在背景磁片成本完成時等候
- 使用安裝程式的撰寫功能,在Dialog 資料表中新增名為WaitForCosting的新強制回應對話方塊。 對話方塊應該會顯示文字字串,指出「磁碟空間成本完成時請稍候」。
- 將單一按鈕控制項新增至此對話方塊,並標示為 [取消],方法是將它撰寫至 [控制項] 資料表。
- 將[取消]按鈕連結至 ControlEvent,將EndDialog ControlEvent撰寫至ControlEvent 資料表,以關閉WaitForCosting對話方塊。 將 EndDialog Control 事件的引數設定為 Exit。
- 將SpawnWaitDialog ControlEvent連結到 [選取] 對話方塊中顯示的現有[立即安裝]、[下一步] 和 [磁片成本] 按鈕控制項。 將 ControlEvent 資料表中此 ControlEvent 的引數設定為 WaitForCosting 對話方塊,並將資料表的 [條件] 資料行中的運算式設定為: CostingComplete =1。