Запретить длинное слово, чтобы добавить горизонтальную прокрутку для просмотра HTML - PullRequest
1 голос
/ 30 октября 2008

В Windows Mobile я отображаю свои выходные данные в формате HTML. Это включает в себя множество пользовательских строк. Иногда возникают ситуации, когда действительно большая строка является частью выходных данных, в которых нет пробелов и знаков препинания.

К сожалению, представление HTML в Windows Mobile (htmlview.dll, основанное на Pocket Internet Explorer) не разбивает эти длинные слова, чтобы они помещались на экране. Вместо этого добавляется горизонтальная полоса прокрутки, и пользователь должен прокручивать вбок, чтобы увидеть все слово. Это также влияет на другой вывод, который теперь также распространяется по большей ширине экрана.

Есть ли возможность заставить htmlview вести себя по-другому или заставить слово сломаться? CSS может быть использован. Что касается принуждения: The & shy; тег ВСЕГДА вставляет символ "-" и никогда не вызывает разрывов, тег вообще ничего не делает, & 8203; выводится как & 8203 :, пустые теги типа также ничего не делают. Также следует отметить, что этот код работает на экранах нескольких размеров, и из-за других частей вывода HTML я не уверен на 100%, сколько у меня осталось ширины экрана.

P.S .: Мое приложение скомпилировано с использованием WM 5.0 SDK и написано на C ++ / Win32 / MFC.

Ответы [ 2 ]

1 голос
/ 30 октября 2008

Помимо застенчивого гипена, как упомянуто nickf, вы всегда можете использовать CSS, чтобы скрыть перебегающие слова, установив стиль поля overflow: hidden. Хорошие новости: нет полосы прокрутки, ма. Плохая новость: слово сокращено. Для застенчивого гипена я бы не пошел с существом, все же. Вместо этого используйте символ непосредственно в своем тексте: его код символа 0xAD (Unicode + 00AD). (Объекты, как правило, не рекомендуется использовать правильную кодировку.)

0 голосов
/ 30 октября 2008

Я почти ничего не знаю о Windows Mobile, так что я мог бы быть в стороне, но вы могли бы попытаться вставить HTML-объекты в определенные периоды в длинные слова, которые действуют как "подсказки" для переноса слов.

Поскольку я предполагаю, что только Win работает на WinMo, сущность, которую вы будете искать, называется "застенчивый дефис": ­ Это в основном символ, который говорит браузеру, что "эта точка будет хорошим местом сломать слово, только если вам нужно ". Если ему нужно разбить слово на две (или более!) Строки, вставляется дефис, в противном случае он полностью невидим.

Я нашел эту информацию здесь , в которой также есть более подробная информация о том, как это сделать в других браузерах.

Во-первых, я бы добавил их в ваш HTML-код для поиска слов, длина которых превышает X символов (скажем, 30), а затем в этих словах после каждого символа Y (скажем, 20). введите ­

...