使用windows窗体在richtextbox中设置斜体的示例



我正在寻找一个完整的、可工作的示例,说明如何使用C++在Windows Forms Rich text Box中将文本设置为斜体。

所有的例子都与以下类似:

System::Drawing::Font comment_font =
    gcnew System::Drawing::Font(m_rich_text_script->SelectionFont,
                System::Drawing::FontStyle::Italic);
m_rich_text_script->SelectionFont = comment_font;

我得到错误:

error C3673: 'System::Drawing::Font' : class does not have a copy-constructor

我相信这个错误是因为我没有包括System::Drawing::Font的头文件。

我在网络和堆栈溢出中搜索了"C++Windows Forms italic",但没有一个显示要包含的文件名。有趣的是,MSDN网站没有显示#include for C++。

我正在Win7平台上的Windows CLR项目上使用Visual Studio 2010。

背景:我将方法的定义从Form1.h移动到Form1.cpp,并#包含"Form1.hpp"。

尝试使用System::Drawing::Font对象的句柄而不是堆栈变量:

System::Drawing::Font^ comment_font = ...

下面是一个完整的C++类,给定一个富文本框,将其选择字体设置为斜体:

namespace SetToItalic
{
    public ref class SomeClass
    {
    public:
        static void SetRichTextBoxSelectionFontToItalic(
            System::Windows::Forms::RichTextBox^ textBox)
        {
            System::Drawing::Font^ comment_font =
                gcnew System::Drawing::Font(
                    textBox->SelectionFont,
                    System::Drawing::FontStyle::Italic);
            textBox->SelectionFont = comment_font;
        }
    };
}

我已经使用Visual Studio 2013提供的工具链验证了这一点,方法是使用上面的代码将C#Windows窗体应用程序调用到C++/CLI程序集中。

最新更新