Избегайте усечения меток в ListView

люди!
Я использую список (режим значков) для отображения элементов, которые состоят из изображения и метки.
Как вы можете видеть на снимках, высота строки зависит от длины y в зависимости от длины метки. Проблема в том, что я хочу, чтобы полные надписи были нарисованы, но они автоматически сжимаются в две строки:
Все строки, которые слишком длинные, были усечены

Странная вещь в том, что после выбора элемента будет отображаться весь ярлык:
Выбранный элемент отображается без усечения
Это также имеет место при отмене выбора элемента, но когда выбирается другой элемент, только этот будет показан полностью.
Есть ли способ (без рисования текста вручную), чтобы избежать усечения в моем случае?
Если для ответа на этот вопрос требуется код, не стесняйтесь спрашивать.

Привет,
Satara

2

Решение

Я предполагаю, что это был выбор дизайна: чтобы вещи выглядели менее загроможденными. Например. Представьте себе ваш рабочий стол со всеми ярлыками, показанными полностью … в моем случае это будет выглядеть грязно.

Однако вы можете исправить это, нарисовав ярлык самостоятельно. Заглянуть в произвольный розыгрыш которая является службой, предоставляемой элементом управления списком. Дело в том, что это, как правило, подход «все или ничего», поэтому, скорее всего, вам придется рисовать все самостоятельно: рамку, изображение, метку и т. Д. Другой вариант — стать хакером: создать подкласс окна и снова нарисовать метки после того, как Windows это сделала. в ответ на несколько сообщений (к сожалению, Windows не ограничивает рисование WM_PAINTоптимизация, оставшаяся от старых времен …)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]