Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Свойства.

Читайте также:
  1. IV. Предварительные данные о радиоактивных свойствах атомного взрыва
  2. VI. Влияние нагрева на структуру и свойства деформированного металла.
  3. VII. Механические свойства металлов
  4. XIII.Стали и сплавы с особыми физическими свойствами
  5. XXIII. Физические процессы в магнитных материалах и их свойства
  6. Алгебраические свойства операций над множествами
  7. Базисные свойства
Название Описание
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)

{ …

 

Работа с файлами

Для работы с файлами необходимо создать соответствующие функции. Они должны быть описаны в определенном месте листинга, а именно после заголовка Required designer variable – Переменные для разработчика.

private:

/// <summary>

/// Required designer variable.



В данном примере создаются две функции:

1) функция открытия файла <имя>.rtf и вывода содержимого файла на экран LoadMyFile.

 

void LoadMyFile()

{

//функция открытия файла и вывода его на экран

// Создание запроса OpenFileDialog для открытия файла.

OpenFileDialog^ openFile1 = gcnew OpenFileDialog;

// Инициализация OpenFileDialog для RTF файлов.

openFile1->DefaultExt = "*.rtf";

openFile1->Filter = "RTF Files|*.rtf";

 

// Реализация выбора файла из OpenFileDialog.

if ( openFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&

openFile1->FileName->Length > 0 )

{

// Загрузка содержимого файла в RichTextBox.

richTextBox1->LoadFile(openFile1->FileName, RichTextBoxStreamType::

PlainText );

 

}

else MessageBox::Show("Open file error");

}

2) функция сохранения текста, набранного в окне редактора текста в файле <имя>.rtf – SaveMyFile.

 

void SaveMyFile()

{

// Вызов SaveFileDialog для запроса пути и имени файла,чтобы сохранить

//содержимое из редактора текста в выбранном файле.

SaveFileDialog^ saveFile1 = gcnew SaveFileDialog;

 

// Инициализация SaveFileDialog спецификации - RTF расширения для файла.

saveFile1->DefaultExt = "*.rtf";

saveFile1->Filter = "RTF Files|*.rtf";

 

// Determine if the user selected a file name from the saveFileDialog.

Загрузка...

if ( saveFile1->ShowDialog() == System::Windows::Forms::DialogResult::OK &&

saveFile1->FileName->Length > 0 )

{

// Сохранение содержимого окна RichTextBox в файле.

richTextBox1->SaveFile( saveFile1->FileName, RichTextBoxStreamType::PlainText );

}

else MessageBox::Show("Open file error");

}

 

Фильтр для выбора типа файла в диалоге

В режиме «Форма» неоходимо выделить, например, OpenFileDialog и открыть, как было описано ранее, окно Properties. В строке Filter в пустое поле необходимо вписать строку, определяющую тип файла, который будет открываться в диалоге. Например:

"Text files (*.txt)|*.txt|All files (*.*)|*.*".

Тоже надо сделать и для сохранения файла – SaveFileDialog.

 

 

 


Дата добавления: 2015-10-21; просмотров: 30 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Текстовый редактор| Текстовый редактор Word.

mybiblioteka.su - 2015-2018 год. (0.014 сек.)