我一直在努力让 SWT TableItem 中显示的图像能够缩放。我有一个可以正确缩放字体的侦听器,并且我已确认设置到 TableItem 中的图像已正确缩放。我知道缩放后的图像已成功设置到 TableItem 中,因为我什至可以更改显示的图像。但新图像始终以原始比例显示。
我已阅读 SWT:标准小部件工具包,第 1 卷,其中作者指出:
第一张图片定义了尺寸 控件中的所有图像
由于Windows的限制,就像 工具栏、选项卡文件夹和树、表格 将其显示的图像缩放为 插入的第一张图像的大小 进入控制。
我看到的行为是这句话所建议的最极端的情况 - 表中的图像似乎正在缩放,不是表中第一个图像的大小,而是第一个图像的大小已在表中。有谁能证实或反驳这一点吗?有谁有关于 TableItems 中图像行为的更详细信息?这个限制真的像看上去那样令人窒息吗?
特别是,如果我沿着自定义绘图表项目(自定义绘图表和树项目)的路径走下去,我是否可能会遇到任何进一步的阻碍?
(你会注意到,即使在使用所谓的跨平台开发环境时,我也咬紧牙关,没有因为必须处理 Windows 的愚蠢而愤怒,做得多么好!)
我可以根据我在 Windows 上的经验来确认这一点。
我提出两种解决方案之一:
编辑:回应“特别是,如果我沿着自定义绘图表项目(自定义绘图表和树项目)的路径走下去,我是否可能会遇到任何进一步的阻碍?”
我发现自定义绘图的唯一问题是最好提前知道最大行高是多少,否则当表格必须增加行高时会出现跳跃,因此在重新调整时稍微滚动项目
感谢您提供这些最有用的信息。我对不同的树项目的不同图标(图像)有类似的问题。让它们都具有相同的大小(使用 GIMP 等程序)解决了我的问题。