mfc – 带有丰富文本的MessageBox

我希望能够显示消息框内的格式化文本(如粗体文本,项目符号,斜体等)。

我遇到这个奇妙的文章,但似乎无法得到它的工作。 我在同一个链接上使用演示应用程序。

有人可以帮我吗? 我试着debugging/理解代码是徒劳的。

限制:(不是我的select)

  • 必须与Windows XP兼容。
  • 我正在使用Visual C ++ 6。

它应该如何显示:

它应该如何显示


它如何实际显示:

在这里输入图像说明

Solutions Collecting From Web of "mfc – 带有丰富文本的MessageBox"

只需创建一个RichEdit2控件的对话框…

在InitInstance中,添加如下的调用:

// 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); 

简单地建立自己的信息,你会得到大胆,色彩,…

由于DavidK非常有帮助的建议,我已经解决了这个问题(请参阅问题的评论)。 Windows 2000的FIX评论固定这个整齐。