2008-10-30 91 views
1

在Windows Mobile上,我以HTML格式显示我的输出。这包括许多用户生成的字符串。偶尔会出现这样的情况:一个非常大的字符串是没有空格或标点符号的输出的一部分。防止长词将水平滚动添加到html视图

不幸的是,Windows Mobile的HTML视图(基于Pocket Internet Explorer的htmlview.dll)并没有打破这些长长的单词,因此它们适合屏幕显示。相反,会添加一个水平滚动条,用户必须侧向滚动才能看到整个单词。这也会影响现在也沿着这个较大屏幕宽度传播的其他输出。

是否有任何可能使htmlview的行为有所不同,或强迫这个词打破? CSS可以使用。关于强迫:&害羞;标签总是插入一个“ - ”字符,并且永远不会造成中断,但标签完全没有做任何事情,& 8203;输出为& 8203:,像这样的空标签也无能为力。此外,应该指出的是,这段代码运行在多个屏幕尺寸上,并且由于HTML输出的其他部分,我不能100%确定我剩下多少屏幕宽度。

P.S .:我的应用程序使用WM 5.0 SDK进行编译,并使用C++/Win32/MFC编写。

回答

0

我对Windows Mobile几乎一无所知,所以我可能会离开,但是您可以尝试的是在特定时段插入HTML实体,这些实体可以用作连字符“提示”。

因为我认为它只是在WinMo上运行的IE,所以你要找的实体叫做“害羞的连字符”:­它基本上是一个字符,它告诉浏览器“这个地方是个好地方打破这个词,只有当你需要“。如果确实需要将单词分成两行(或更多!)行,则会插入连字符,否则它将完全不可见。

我发现这个信息here,它也有关于如何在其他浏览器中做到这一点的更多细节。

我首先将它们放入HTML中的方法是搜索长于X个字符(比如30)的单词,然后在这些单词中,在每个Y个字符后(例如20 )插入­

+0

我已经试过了害羞的标签(我在问题中输入了错误的html,所以名字&害羞;不可见),但它总是插入一个连字符,即使它没有在那个地方打破这个词。其实它永远不会在&害羞;无论如何:-(链接中引用的WBR标签也不起作用:-( – Steven 2008-10-30 07:40:05

1

除了nickf提到的害羞炒作之外,您可以随时使用CSS通过设置框的样式来隐藏超调词,以overflow: hidden。好消息:没有滚动条,马。坏消息:单词被切断。对于害羞的炒作,我不会跟这个实体一起去。相反,直接在文本中使用字符:其字符代码是0xAD(Unicode + 00AD)。 (实体通常是通过使用正确的编码而被弃用)。

+0

)谢谢,CSS方法可行,由于截止时间不完美,但我将不得不忍受任何更好的解决方案。 – Steven 2008-10-30 08:01:41