Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текстовый редактор.doc
Скачиваний:
47
Добавлен:
09.02.2015
Размер:
4.27 Mб
Скачать

Свойства

 

Название

Описание

Chars

Берет символ из указанной позиции в текущем объекте String.

Length

Определяет количество символов в текущем объекте String.

Событие – изменение текста в окне текстового редактора

Для установки этого события требуется, находясь в режиме редактора формы, выделить с помощью мыши нужный объект формы - RichTextBox и открыть для него окно среды - Properties нажав Alt+Enter или левую кнопку мыши – в появившемся окне выбрать нижнюю строку Properties.

В открывшемся окне Properties выбрать список событий, для чего необходимо нажать значок «молния» в заголовке окна. Два раза щёлкнуть мышью по пустому полю справа от поля TextChanged. В результате будет сгенерирован обработчик события:

private:

System::Void richTextBox1_TextChanged(System::Object^ sender, System::EventArgs^ e)

{

}

В текст этого обработчика необходимо включить строку изменения флага flag -

flag=1;

Cледующие строки взяты из MSDN для данного обработчика:

try

{

// Convert the text to a Double and determine if it is a

// negative number.

if ( Double::Parse( richTextBox1->Text ) < 0 )

{

// If the number is negative, display it in Red.

richTextBox1->ForeColor = Color::Red;

}

else

{

// If the number is not negative, display it in Black.

richTextBox1->ForeColor = Color::Black;

}

}

catch ( Exception^ )

{

// If there is an error, display the text using the system colors.

richTextBox1->ForeColor = SystemColors::ControlText;

}

Кроме обработчиков событий в файле Form1.h инициализируютя включенные в форму компоненты – InitializeComponent.

void InitializeComponent(void)

{

this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());

this->toolStripMenuItem1 = (gcnew system::Windows::Forms::ToolStripMenuItem());

this->toolStripMenuItem2 = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->toolStripMenuItem3 = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->saveToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());

this->openFileDialog1 = (gcnew System::Windows::Forms::OpenFileDialog());

this->saveFileDialog1 = (gcnew System::Windows::Forms::SaveFileDialog());

this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());

this->menuStrip1->SuspendLayout();

this->SuspendLayout();

//

// menuStrip1

//

. . .

//

// toolStripMenuItem1

//

. . .

//

// toolStripMenuItem2

//

. . .

//

// toolStripMenuItem3

//

. . .

//

// saveToolStripMenuItem

//

. . .

//

// openFileDialog1

//

. . .

//

// saveFileDialog1

//

. . .

//

// richTextBox1

//

. . .

//

// Form1

//

. . .

}

Многоточие заменяет строки, которые можно посмотреть в сгенерированном листинге.

Система делает многое, но некоторые строки необходимо включить в листинг вручную:

- к строкам using необходимо добавить следующие:

using namespace System::IO;

using namespace System::Text;

- для получения возможности контролировать изменение файла необходимо включить глобальную переменную flag в поле public класса Form1:

public ref class Form1 : public System::Windows::Forms::Form

{

public:

int flag;//флаг для обозначения факта изменения текста в окне редактора текста

Form1(void)

{ …