2013-04-08 52 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