2

我有一个显示通知的托盘栏应用程序。这些是常规的 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))

如何在消息中添加换行符,使其出现在多行中?我试过\nand \r\n,但它们似乎不会影响文本。\r单独显示为单个空格并按\t预期工作,但所有消息仍仅显示在一行中。

和的组合\r以及\n它们的重复没有产生任何结果。

4

3 回答 3

2

我正在更改标题,而不是消息。我混合了参数的顺序,并显示了一个带有标题但为空消息的通知。而且标题行不能被打破,所以它忽略了我所有的尝试。

不同的是,标题稍大,呈蓝色,与关闭按钮显示在同一行。

我一切换参数,\n就开始被接受为换行符并显示多行气球通知。

于 2013-04-08T03:35:48.483 回答
1

你试过\n\r吗?(\r\n 的反面)。我知道这听起来很愚蠢,但我在使用 Windows Unicode 字符排序时得到了意想不到的结果。如果所有其他方法都失败了,请尝试 0x0D、0x0A 或相反的方法,看看它是如何响应的。

于 2013-04-08T03:17:10.203 回答
1

我认为系统托盘图标的文本不允许明确的换行符。如果文本太长,Windows 会根据行宽自动将文本移动到下一行。

于 2013-04-08T03:23:03.287 回答