版本
Visio 2007 SP3
問題
用Visio繪製類圖,當函數的參數過多時,類圖會變得很寬,甚至超出紙張的邊緣。此時不得不減小類圖的寬度。
但是,當減小類圖的寬度時,自動換行的文字會溢出到圖形外部,而且此時無法調整類圖的高度!故障如下圖所示:
調整寬度前(正常):
調整寬度後(文字溢出):
解決方法
警告
(1)修改涉及到Visio的底層數據,修改前請備份原文件。
(2)由修改引發的任何問題,需自行承擔風險。
1.單擊類圖2次,選中該類圖的“方法區”。(注意:不是選中整個類圖!)
然後,依次點擊:窗口->顯示ShapeSheet
2.在ShapeSheet窗口中,單擊Shape Transform小節中的Height屬性單元格,然後通過頂部的輸入框修改公式:
3.原公式爲:
=GUARD(IF(BITAND(Sheet.1!User.UMLSuppressOption,8),0,MAX(TEXTHEIGHT(TheText,10),4.45mm)))
刪掉公式中的GUARD,公式變成:
=(IF(BITAND(Sheet.1!User.UMLSuppressOption,8),0,MAX(TEXTHEIGHT(TheText,10),4.45mm)))
然後單擊綠色的“打勾”按鈕保存修改:
4.把Protection小節中的LockHeight由1改爲0。
5.關閉ShapeSheet窗口,現在可以調整類圖的“方法區”的高度了:
調整高度後的最終效果:
問題:如果修改後,圖形出現混亂,如何快速恢復原始圖形?
刪除該類圖,然後在左側的“模型資源管理器”,把相應類拖動到右側的繪圖區,即可重新創建該類的類圖。(會丟失部分圖形樣式等信息)
參考資料
http://stackoverflow.com/questions/16455327/how-to-resize-my-uml-class-diagram-on-ms-visio07