Как масштабировать изображения в SWT TableItem? - PullRequest
1 голос
/ 06 ноября 2010

Я изо всех сил пытался заставить изображения, отображаемые в SWT TableItem, масштабироваться. У меня есть слушатель, который корректно масштабирует шрифты, и я подтвердил, что изображения, устанавливаемые в TableItem, правильно масштабируются. Я знаю, что масштабированные изображения успешно устанавливаются в TableItem, потому что я даже могу изменить отображаемое изображение. Но новое изображение всегда отображается в исходном масштабе.

Я прочитал в SWT: Стандартный набор инструментов для виджетов, том 1 , где авторы заявляют:

Первое изображение определяет размер Все изображения в элементе управления

Из-за ограничений Windows, как Панель инструментов, TabFolder и Дерево, Таблица масштабирует изображения, которые он отображает, чтобы быть размер первого вставленного изображения в контроль.

Поведение, которое я наблюдаю, является самым крайним случаем, предлагаемым этой цитатой - изображения в таблице, похоже, масштабируются не по размеру первого изображения в таблице, а по размеру первого изображения когда-либо был в таблице . Кто-нибудь может подтвердить или опровергнуть это? У кого-нибудь есть более подробная информация о поведении изображений в TableItems? Является ли это ограничение действительно пробным показом, каким оно кажется?

И, в частности, если я пойду по пути к элементам пользовательского чертежного стола ( Пользовательские чертежный стол и элементы дерева ), могу ли я натолкнуться на дальнейшие демонстраторы?

(Вы заметите, какую хорошую работу я выполняю, стиснув зубы и не поддаваясь ярости от необходимости иметь дело с глупостью Windows, даже при использовании предположительно кроссплатформенной среды разработки!)

1 Ответ

0 голосов
/ 10 декабря 2010

Я могу подтвердить это на своем опыте в Windows.

Я предлагаю одно из двух решений:

  • Используйте пользовательский чертеж таблицы по указанной вами ссылке. Это немного раздражает, но я бы сказал, что это не более 2 часов работы, чтобы изучить и реализовать ее.
  • Используйте альтернативный элемент управления таблицей SWT, например, Nebula Grid или KTable , которые не разделяют те же ограничения платформы, что и Таблица для Windows

Редактировать: в ответ на "И, в частности, если я пойду по пути элементов пользовательских таблиц чертежей (пользовательских таблиц чертежей и элементов дерева), могу ли я натолкнуться на дальнейшие демонстрационные выступы?"

Единственная проблема, которую я обнаружил с пользовательским рисунком, заключается в том, что лучше заранее знать, какой будет максимальная высота строки, в противном случае произойдет прыжок, когда Table придется увеличивать высоту строки и, следовательно, прокручивать элементы немного, пока он перенастраивает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...