2013-04-08 46 views
2

我有一個顯示通知的托盤欄應用程序。這些是常規的Windows通知,作爲應用程序圖標上的氣球。如何將換行符添加到Windows通知氣球?

這是基本的代碼:

class TrayIconApplication: 
    def __init__(self): 
     [very long code to setup instance] 

    def notify(self, message, title): 
     Shell_NotifyIcon(NIM_MODIFY, 
         (self.hwnd, 0, NIF_INFO, WM_USER + 20, 
          self.hicon, 'Balloon Tooltip', message, 200, 
          title)) 

如何添加換行符的消息,使其出現在多行?我試過\n\r\n,但它們似乎沒有影響文本。 \r alones顯示爲一個空格,\t按預期工作,但所有消息仍然只顯示在一行中。

\r\n的組合以及它們的重複沒有產生任何結果。

+0

此外,它似乎也不是HTML。 '字面上顯示'
'。 – BoppreH 2013-04-08 03:29:54

回答

2

我改變了標題,而不是消息。我混合參數的順序,並顯示一個標題通知,但空消息。標題行不能被破壞,所以它忽略了我所有的嘗試。

不同之處在於標題略大,呈藍色,與關閉按鈕顯示在同一行。

只要我切換參數,\n開始被接受作爲線路中斷字符和顯示多行氣球通知。

+0

愚蠢的問題。我在恥辱和感激之餘補充了其他答案。 – BoppreH 2013-04-08 03:36:55

1

你試過\ n \ r嗎? (與\ r \ n相反)。我知道這聽起來很愚蠢,但是我在使用Windows Unicode字符排序時遇到了意想不到的結果。如果所有其他嘗試失敗嘗試0x0D,0x0A或相反,只是看它是如何響應。

+0

是的,爲了確保我甚至製作了一長串'\ n \ r \ n \ r \ n \ r'。由於尾部的「\ r」,它顯示爲單個空白。 – BoppreH 2013-04-08 03:17:56

1

我認爲系統托盤圖標的文本不允許顯示新行字符。如果文本太長,Windows將自動將文本移動到下一行,無論其行寬是多少。

+0

嘗試了很長的字符串,它只是顯示的開始和切斷其餘沒有警告或'...'在最後。 – BoppreH 2013-04-08 03:25:33

相關問題