2015-02-23 66 views
0

我正在設置一些文本的靜態控件。當我試圖在靜態控件中設置冗長的文本時,文本會被剪輯。如何防止靜態控件中的文本被截斷?

任何人都可以請讓我知道,我怎樣才能防止文本被截斷。

+2

你想要它做什麼呢?包?顯示省略號?展開靜態? – 2015-02-23 14:21:30

+0

@Alex K靜態控件的寬度是固定的,我無法增加靜態控件的寬度,因爲我沒有在對話框中增加空間,但可以增加高度。要在該對話框中輸入的文本限制靜態控制是255個字符。我希望整個文本在靜態控件中可見而不會被剪切。 – Siva 2015-02-23 14:59:24

回答

0

使靜態文本控件大於放入它的文本。一個窗口吸引了客戶端和非客戶端空間。它夾到它的窗戶。

+0

我有一個固定長度的靜態控件,我不能增加靜態控件的大小,但我希望所有文本都顯示在靜態控件中。寬度是固定的,高度可以變化。 – Siva 2015-02-23 14:53:33

+0

你不能夠獲得超出靜態文本控件邊界的文本但是,如果你想要一些可以滾動的東西,我只需用只讀編輯控件替換靜態控件即可。 – 2015-02-23 16:19:23

0

如果你擔心在對話框或形式,語言翻譯可能是一個可能的問題,那麼你應該考慮使用CStatic tool tip空間。使用工具提示可以讓您保持控件的當前大小,並提供一種顯示其全文的機制。當用戶將鼠標懸停在CStatic上時,會彈出一個工具提示以顯示整個文本。這是我必須用來平衡UI設計與對話空間的折中。

1

問題是,靜態控件總是剪輯一個單詞,該單詞比控件的寬度長。如果你使用SS_LEFT風格的話被包裹到下一行。所以更高的控制會有所幫助(我可以在評論中看到這是可能的)。

但風格必須SSLEFT而不是SS_LEFTNOWRAP!

另一種解決方案是使用一個只讀的編輯控件沒有邊框在這種情況下,您可以編輯控件內滾動,因爲它有可能給它的焦點。你也可以使用垂直或水平滾動條。

只要你不使用WS_TABSTOP你會本身沒有邊框只讀編輯控件和靜態控制並無實質區別。除了可以用鼠標激活編輯控件。