Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Формы. Как исправить "обрезанное" отображение данных в ListBox
 
Доброго времени суток, Планетяне!

При определённом стечении обстоятельств (зависит от массива, передаваемого в форму) данные в ListBox'е формы выглядят "обрезанными" и неудобно искать в таком списке. Решение, которое нашёл — использовать ListStyle=1 (Option). Самый нормально отображаемый (всё равно недостаточно) шрифт из популярных — TimesNewRoman (пробовал Calibri, Arial и моноширинные — не то).

Можно ли как-то ещё побороть такую фигню?
Подобная проблема, кстати, наблюдалась также и в известном DropDownList от nerv'а…
1.png (7.14 КБ)
2.png (8.53 КБ)
Изменено: Jack Famous - 18 Сен 2018 15:41:59
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Jack Famous, как вы такое получили. Сколько не играл со шрифтами в ListBox ни разу такого не видел. А Repaint пробовали?
Никаких врагов, зато и никаких друзей.
 
Цитата
Alemox: как вы такое получили
шрифт Courier вообще жуть (см. скрин 1). На втором - настройки ListBox  по категориям :D
С TimesNewRoman всё почти нормально - только у букв "р" и "у" нижние "хвосты" обрезает (скрины 3 и 4). При выделении уже всю строку немного режет.
Цитата
Alemox: Repaint
что это?
1.png (3.76 КБ)
2.png (22.15 КБ)
3.png (8.74 КБ)
4.png (9.16 КБ)
Изменено: Jack Famous - 18 Сен 2018 14:21:19
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Jack Famous, Более похоже на артефакты видео рендеринга. На всех компах такое?
 
Сколько работаю с формами, а такого не наблюдал. Видеокарту в утиль :)
 
Цитата
vikttur написал:
Видеокарту в утиль
Виктор, это у Вас настрой от умершего HDD :-),

Jack Famous, Cперва нужно драйверочки проверить.
Изменено: БМВ - 18 Сен 2018 14:33:39
 
vikttur, нормально всё с ней, я думаю — иначе не только бы в ListBox шалило  :D
БМВ, в DropDown такая же фигня была на длинных строчках, и было это года 2 назад уже… Так что вряд ли дрова. Тем более, что TNR же практически нормально отображает.

Но самое главное, что форма лежит внутри надстройки и меняются только данные для неё. Получается, что отображение меняется в зависимости от данных (только что заметил) хотя в обоих случаях передаю одномерный массив (ключи словаря dic.Keys)  8-0
Изменено: Jack Famous - 18 Сен 2018 15:08:21
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Цитата
Jack Famous написал:
что это?
Перерисовать форму после заполнения Listbox.
Me.Repaint
Никаких врагов, зато и никаких друзей.
 
Зачем перерисовывать все?
.List.Clear и заполнить опять
 
Добавил форму в шапку (должна работать). При таком наполнении артефакты не проявляются.

Заметил, что при ListStyle=1 (Option) количество элементов рассчитывается корректно — с pt от 8 до 11 (включительно) количество видимых элементов ListBox без прокрутки одинаковое, потом начинает уменьшаться (без искажений). Сделал вывод, что размер этих OptionButtons соответствует 11 величине шрифта TNR  :)

Получается, что при ListStyle=0 (Plain) некорректно рассчитывается количество элементов при определённых условиях (условия определить не удалось). При этом, если выставить "автовысоту" IntegralHeight=True (точно не гуглил, что это), то список вообще при поиске начинает "сползать" за форму (вниз)  :D
Изменено: Jack Famous - 18 Сен 2018 15:38:29
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Цитата
Jack Famous написал:
Добавил форму в шапку
не понял фразы. В какую шапку?
Никаких врагов, зато и никаких друзей.
 
Alemox, в заголовок темы (первое сообщение)  :D

UPD: новый прикол. С кнопками при пограничном размере шрифта в 11pt (макс. количество элементов в списке без скролла) он всё-равно немного "обрезает". Зато можно выставить 8-10pt и всё норм  :)
Без "кнопок" (plain) игры с величиной шрифта не канают…
Изменено: Jack Famous - 18 Сен 2018 15:49:37
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Jack Famous, я не понял одного. Как вы сделали чтобы текст уменьшался в размере в зависимости от ширины столбца?
Никаких врагов, зато и никаких друзей.
 
Alemox, (см. скрин) это не уменьшение шрифта, а только визуальное "втискивание". Удивлён, что вы не знаете…
1.png (18.03 КБ)
Изменено: Jack Famous - 18 Сен 2018 17:02:30
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Цитата
Jack Famous написал:
втискивание
никогда не загонялся этим.
По теме. Интересно получается. Открывал на работе форму несколько строк были обрезаны как раз те, которые визуально уменьшены. Но вполне смотрибельно. Открыл дома всё ОК.
Дома W7x86, Office 2010 x86.
На работе W7x64, Office 2013 x64.
Скрин как дома отображается
Изменено: Alemox - 18 Сен 2018 19:13:45
Никаких врагов, зато и никаких друзей.
 
OFF
Alemox, когда поле содержит длинные строки, бывает очень удобно. Поставил себе по-умолчанию (кроме шапки в первой строке)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Всё таки наверное что-то от видюхи зависит или ещё каких дров в системе.
Никаких врагов, зато и никаких друзей.
 
Alemox, а у меня файл-пример нормально отображается (win7, x64), а вот рабочий барахлит в зависимости от данных…
Наверное вы все правы по поводу проблем с софтом, но я никак не пойму — как так можно: форма одна, а отображается по-разному…

И как мне теперь вычленить эту проблему с софтом, чтобы решить — ума не приложу… Тупо обновлять дрова?…  :(
Изменено: Jack Famous - 19 Сен 2018 10:19:38
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Цитата
Jack Famous написал:
Тупо обновлять дрова?…  
Не верное решение, нужно прочитать что обкуренный медведь пишет в #4 и #6  и подойти творчески посмотреть что, за чип(карата) какие драйвера есть у производителей. Не всегда последние самые лучшие, не всегда исходные хуже остальных. Были случаи, но это касаемо ноутбуков, когда драйвера от производителя ноутбука работали более корректно чем от производителя чипа. Да и сейчас с обновлениями от MS могут прилететь драйвера которые работают хуже чем были. Совершенно недавно был пример, Synoptic прилеталл и все с виду хорошо, только тачпэд прекращал работать.
 
БМВ, то, что с умом надо подходить — оно, конечно бесспорно, но почему "глюк видяхи" сбоит ТОЛЬКО в Excel, ТОЛЬКО в UserForm, ТОЛЬКО в ListBox и ТОЛЬКО с разными данными. Получается, что у Alemox тоже проблемы?))) Я думаю, что дело всё-таки в Excel (сборка, конфликты и прочее).
Решение через Option пока устраивает, так что спущу на тормозах  :D

P.S.: Если кто "побеждал", то протестирую способ  :)
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
 
Цитата
Jack Famous написал:
но почему "глюк видяхи" сбоит ТОЛЬКО в Excel, ТОЛЬКО в UserForm, ТОЛЬКО в ListBox и ТОЛЬКО с разными данными
Алексей, ну вы же не проводите крупномасштабный тест с использованием кейсов из разных областей, которые могут выявить проблемы и в других программа, объектах ..... Просто у Вас всплыл этот баг.
К слову я не гарантирую, что это реально драйвера, но проверить надо. Для начала на ПК который имеет другую конфигурацию железа. К стати элементарная виртуалка  уже покажет есть ли завязка на железо или нет. Потом ОС, потом версию Excel. У меня на 2013 не воспроизводится на вашем файле проблема.
 
БМВ, так у меня тоже на примере не воспроизводится - в том-то и беда))) то ли в длине строк дело, то ли ещё что-то. Не понимаю.

Спасибо вам за варианты — если доберусь до полномасштабной "разборки", то отпишусь. Ну и вообще по новостям тоже отпишусь))
Изменено: Jack Famous - 19 Сен 2018 13:06:19
«Тот, кто несет фонарь, спотыкается чаще, чем тот, кто идет следом.»
Иоганн Пауль Фридрих Рихтер
Страницы: 1
Читают тему (гостей: 1)
Наверх