2010-02-05 63 views
0

這是使用BalloonHints我的第一次。我使用德爾福2010年BalloonHint.ShowHint德爾福2010年獲得控制權的提示,標題

我不知道我使用的提示正確,因爲在以下情況下,我得到了相同的文字暗示兩次:一次作爲標題,一次作爲身體。我在這方面掙扎了一段時間,也提到了其他帖子,德爾福的幫助以及Cantu在D2009手冊中的例子。

我希望我的代碼,彈出一個提示,如果它檢測到用戶需要點擊一個按鈕。然後,如果用戶稍後將鼠標懸停在按鈕上,則會顯示相同的提示。

在下面的序列中,在步驟3中,該按鈕的提示文本被顯示爲在球囊文本標題,因爲如果有一個管道字符...

步驟1:調用ShowHint。提示正確顯示,然後正常消失。

步驟2:用戶在按鈕移動鼠標。該按鈕的提示正確顯示。

第3步:再次調用ShowHint。顯示的提示具有來自氣球提示描述的正確文本,但它具有來自該按鈕的標題。

Procedure TForm.ShowHintIfNeeded. 
var 
    Pt: TPoint; 
begin 
    if fNeedFileName then 
    begin 
    BalloonHint1.Description := 'Click this button to open'; 
    Pt.X := btnOpenFile.Width Div 2; 
    Pt.Y := 0; 
    BalloonHint1.ShowHint(btnOpenFile.ClientToScreen(Pt)); 
    end; 
end; 

和我的按鈕的DFM:

object btnOpenFile: TBitBtn 
    Hint = 'Click this button to open' 
    CustomHint = BalloonHint1 
    ShowHint = True 
end 

回答

5

,如果您有什麼明確設置BaloonHint1.Title不了了之,例如:

Procedure TForm.ShowHintIfNeeded. 
var 
    Pt: TPoint; 
begin 
    if fNeedFileName then 
    begin 
    BalloonHint1.Title := ''; 
    BalloonHint1.Description := 'Click this button to open'; 
    Pt.X := btnOpenFile.Width Div 2; 
    Pt.Y := 0; 
    BalloonHint1.ShowHint(btnOpenFile.ClientToScreen(Pt)); 
    end; 
end; 

這是否仍然顯示標題從文本按鈕?

+0

我不知道爲什麼它是必要的,但,是的,固定它。非常感謝!! – RobertFrank 2010-02-08 14:09:04