2010-11-06 76 views
1

我一直在努力讓圖像顯示在SWT TableItem中進行縮放。我有一個能夠正確縮放字體的偵聽器,並且我已確認正確設置了放置在TableItem中的圖像的縮放比例。我知道縮放後的圖像已成功設置到TableItem中,因爲我甚至可以更改顯示的圖像。但新圖像是總是以原始比例顯示。如何在SWT TableItem中縮放圖像?

我在SWT: The Standard Widget Toolkit, Volume 1其中作者狀態已經閱讀:

第一個圖像定義的 大小的控制

所有圖像由於Windows的限制,就像 工具欄上,TabFolder中,和表 將顯示的圖像縮放爲 將第一張圖像的大小插入到控件中。

我看到的行爲是由此引用提出的最極端的情況 - 表中的圖像似乎被縮放,而不是表中的第一個圖像的大小,而是大小第一個圖像曾經在表中。任何人都可以證實或反駁這一點?有沒有人有關於TableItems中圖像行爲的更多詳細信息?這個限制是否真的是這個節目的製作者?

特別是,如果我沿着自定義繪圖表項目的路徑(Custom Drawing Table and Tree Items),我是否可能遇到任何進一步的困難者?

(你會注意到有什麼好的工作我做咬緊我的牙,而不是讓的方式在具有使用了所謂的跨平臺開發環境時,即使處理與Windows愚蠢憤怒!)

回答

0

我可以在Windows上的經驗中確認這一點。

我提出了兩種解決方案之一:

  • 使用自定義表格繪製按你所提到的鏈接。這有點煩人,但我不會說超過2個小時的工作來學習和實施它。
  • 使用替代的SWT表格控件例如Nebula GridKTable不共享表的相同平臺的限制在Windows

編輯:在迴應「,特別是,如果我走下來的自定義繪製的表項的路徑(自定義繪製表格和樹項目) ,我是否可能遇到任何進一步的困難者?「

我發現自定義繪圖的唯一問題是,最好事先知道最大行高度是多少,否則當Table必須增加行高並因此滾動項目時會跳躍重新調整