2011-05-04 45 views
4

我們在對話框中使用MFC靜態控件來向用戶顯示一些內容。靜態控制和對話框都在資源文件(.rc)中定義爲LTEXT和DIALOG。問題是如果內容超過256個字符,它會被截斷。有誰知道這個限制如何增加。控件和對話框是舊式的。如何增加MFC靜態控件中的字符限制

回答

5

enter image description here

您可以投票給這個問題here。不要指望奇蹟,資源編譯器是新石器時代的。您必須通過使用多個靜態控件或在運行時在WM_INITDIALOG消息處理程序中設置文本來解決此問題。不要高估用戶的耐心。

0

靜態控件顯示文本,但沒有用戶交互;他們沒有滾動條,並截斷文本以適應控件的邊界。如果您的問題是文本填滿了控件並被截斷,請考慮切換到只讀編輯控件。

但是,如果儘管有更多空間,控件只接受256個字符,但我不確定這是爲什麼。 MSDN沒有提到對控件文本大小的限制。

+0

這是後一種情況,即控制只接受256個字符。我迷失了方向。 – Gaurav 2011-05-04 11:36:25

+0

奇數。如果你調用GetWindowTextLength(),你會得到什麼? – RobH 2011-05-04 11:56:47

+0

它不是STATIC窗口類的限制。我用一個大型的靜態控件掀起了一個快速的MFC對話框應用程序,並用文本填充它。我可以在306 * 139的單位控制中看到1377個字符。 – RobH 2011-05-04 12:07:43

0

在我的理解中,編譯器似乎對可編譯模塊中的內聯字符串有限制。爲什麼你不介意創建一個字符串表,如果你使用這樣的大文本標題?對於靜態控件,256K字符沒有這種限制。