1

在 Windows Mobile 上,我以 HTML 格式显示我的输出。这包括许多用户生成的字符串。偶尔会有一个非常大的字符串是没有空格或标点符号的输出的一部分的情况。

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

是否有可能使 htmlview 表现不同,或强制单词中断?可以使用 CSS。关于强迫:­ 标签总是插入一个“-”字符并且永远不会导致中断, <WBR> 标签根本没有做任何事情,&8203; 输出为 &8203:,空标签如也无所作为。还应该注意的是,此代码在多种屏幕尺寸上运行,并且由于 HTML 输出的其他部分,我不能 100% 确定我还剩下多少屏幕宽度。

PS:我的应用程序是使用 WM 5.0 SDK 编译的,并且是用 C++/Win32/MFC 编写的。

4

2 回答 2

1

除了 nickf 提到的 shy hypen 之外,您始终可以使用 CSS 通过将框的样式设置为overflow: hidden. 好消息:没有滚动条,妈。坏消息:字被删了。不过,对于害羞的炒作,我不会选择实体。相反,直接在文本中使用该字符:其字符代码为 0xAD (Unicode +00AD)。(实体通常通过使用正确的编码来弃用。)

于 2008-10-30T07:37:25.500 回答
0

我对 Windows Mobile 几乎一无所知,所以我可能会走得更远,但是您可以尝试做的是在整个长词中的特定时间段插入 HTML 实体,作为连字符“提示”。

因为我假设它只有在 WinMo 上运行的 IE,所以您要查找的实体称为“害羞连字符”:&shy;它基本上是一个字符,它告诉浏览器“这一点将是一个断词的好地方,只有如果你需要”。如果确实需要将单词分成两行(或更多!)行,则插入连字符,否则它是完全不可见的。

我在这里找到了此信息,其中还包含有关如何在其他浏览器中执行此操作的更多详细信息。

我首先将它们放入您的 HTML 的方法是搜索长度超过 X 个字符(例如 30 个)的单词,然后在这些单词中,在每个 Y 个字符之后(例如 20 个)插入&shy;

于 2008-10-30T07:27:08.313 回答