Я ищу полный, рабочий пример того, как установить текст курсивом в Windows Forms Rich Text Box, используя C ++.
Все примеры похожи на следующие:
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 для C ++.
Я использую Visual Studio 2010 в проекте Windows CLR на платформе Win7.
Справочная информация: я переместил определение методов из Form1.h в Form1.cpp и #included «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 Forms в сборке C ++ / CLI с приведенным выше кодом.
Других решений пока нет …