我希望能夠在消息框內顯示帶格式的文本(如粗體文本,項目符號點,斜體等)。mfc - 帶有豐富文本的MessageBox
我遇到了this wonderful article,但似乎無法使其工作。我在同一鏈接上使用演示應用程序。
有人可以幫我嗎?我試圖調試/理解代碼是徒勞的。
限制:(不是我的選擇)
- 必須與Windows XP兼容。
- 我使用Visual C++ 6
它應該如何顯示:
它是如何實際顯示:
我希望能夠在消息框內顯示帶格式的文本(如粗體文本,項目符號點,斜體等)。mfc - 帶有豐富文本的MessageBox
我遇到了this wonderful article,但似乎無法使其工作。我在同一鏈接上使用演示應用程序。
有人可以幫我嗎?我試圖調試/理解代碼是徒勞的。
限制:(不是我的選擇)
它應該如何顯示:
它是如何實際顯示:
我已經解決d由於DavidK非常有幫助的建議,這個問題(請參閱問題的評論)。 FIX for Windows 2000評論固定這個整齊。
只需創建一個RichEdit2控制對話框弓...
在InitInstance中,添加follwing電話:
// Init RichEdit Library
AfxInitRichEdit2();
在你的對話框中,創建一個變量RichEdit控件和更新如:
// Turn Word Wrap on (based on window width)
m_RichEditMsg.SetTargetDevice(NULL, 0);
// Set Base Text
strText = "{\\rtf1\\ansi\\fs20 ";
strText += "{\\colortbl;\\red0\\green0\\blue0;\\red0\\green0\\blue255;\\red0\\green255\\blue255;\\red0\\green255\\blue0;\\red255\\green0\\blue0;}";
strText += "{\\f1\\cb1\\cf2\\b Main Title} \\par\\par \\fs18 Other text to add {\\b In Bold} no more in bolb ... \\par";
str.Format("\\par Id: {\\b %s}", m_strProgId);
strText += str;
strText+= "\\par \\par {\\f1 \\b Please Confirm ...} \\par}";
// Update Controls
m_RichEditMsg.SetWindowText(strText);
簡單地建立自己的信息,你會得到大膽,顏色,...
謝謝你的回答。我想過這個,但是我不太喜歡這樣的表現。理想情況下,我希望它看起來像一個普通的消息框,但帶有豐富的文本。這絕對是我的後備選擇。 – 2013-03-20 09:53:56
你的文章是14歲。所以,我認爲你應該搜索更現代的,或者使用自定義的conrols庫 - 比如BCG Controls Pro。 – eraxillan 2013-03-14 06:39:18
我個人會發現這樣一個消息框非常冷漠......真是一個難看的東西!爲什麼不使用任務對話框?它們比香草消息盒靈活得多,而且看起來不錯,沒有炫耀。 – 2013-03-14 06:41:22
@Axilles,哈哈真實。我會的,但我的開發環境有限。僅限自由軟件(不是我的選擇)。 – 2013-03-14 06:41:29