2014-10-17 59 views
1

我在使用delphi時遇到了問題。自動刷新UI控件

在我的用戶界面中,我有一個標籤和5個botton。點擊5個按鈕可以改變某些狀態,這會影響標籤標題。

5個按鈕的OnClick功能已經實現。所以我需要添加代碼以更改每個函數中的標籤標題。

這不好。如何讓標籤在檢查狀態時自動更改標題?在VC中,標籤可以得到通知消息,delphi可以做到這一點嗎?

回答

3

對動作,動作列表或動作管理器使用OnUpdate事件處理程序。消息循環完成用戶輸入處理並變爲空閒時,會觸發這些事件。這對於您的需求來說非常合適,因爲導致標籤標題更改的行爲始終是用戶輸入的結果。

實現同樣效果的另一種方法是將TApplicationEvents組件添加到窗體並更新該組件的OnIdle事件的處理程序中的標籤。

+0

但TLabel沒有動作屬性 – dltigles 2014-10-19 06:03:33

+0

你不需要它在標籤上。在按鈕上是有道理的。 – 2014-10-19 06:46:19

+0

好的,我做了一個,並將動作連接到一個按鈕,沒關係。但是,如果我將操作連接到主窗體,則會出現問題:單擊一個一個的五個標籤,一段時間後應用程序不響應。它可以接受關鍵信息,但不接受鼠標。 – dltigles 2014-10-19 07:55:18