- •Ю.Е. Алексеев, а.В. Куров
- •Часть 5
- •Алексеев Юрий Евтихович Куров Андрей Владимирович
- •14. Классы
- •15. Создание проекта
- •15.1 Помещение компонент на форму
- •15.2 Окно сведений об объекте
- •15.3 Редактор кода
- •15.4 Основные компоненты визуальной среды программирования
- •15.5 Лабораторная работа №1. Освоение среды визуального программирования на примере создания приложения для вычисления значения определенного интеграла
- •15.6 Задания для самостоятельной работы
- •15.7 Лабораторная работа n2. Работа с текстовым файлом с использованием многострочного текстового редактора
- •Многострочный текстовый редактор RichTextBox
- •Компонент OpenFileDialog
- •Компонент SaveFileDialog
- •Компонент главное меню MenuStrip
- •Окно сообщений MessageBox
- •Порядок выполнения лабораторной работы.
- •15.8 Задания на обработку текстовых файлов Общее указание для всех вариантов
- •Д обавляемые подпункты меню Работа1 и Работа2 по вариантам
- •15.9 Лабораторная работа n3. Работа с бинарным файлом с использованием таблицы DataGridView
- •Порядок выполнения лабораторной работы.
- •Примеры обработчиков событий.
- •15.10 Задания на обработку бинарных файлов Общее указание для всех вариантов
- •Д обавляемые подпункты меню Работа1 и Работа2 по вариантам
- •Список литературы
- •Алфавитный указатель
- •Вопросы для самопроверки
- •Заключение
Компонент OpenFileDialog
Компонент находится в списке Dialogs палитры компонентов, предназначен для выбора файлов с помощью стандартного окна Windows для выбора и открытия файлов. Для высвечивания диалогового окна необходимо использовать метод ShowDialog(). Основные свойства компонента:
Multiselect – при установке значения true можно выбирать группу файлов;
ShowReadOnly – для файлов типа”только для чтения” появляется галочка рядом с названием файла;
Filter – задает условие фильтрации файлов (позволяет выбирать только те файлы, которые указаны в фильтре).
Компонент является невизуальным, он размещается не на форме, а помещается на специальную полосу, расположенную в нижней части окна дизайнера формы.
Диалоговое окно для выбора файла появляется при выполнении метода ShowDialog(). Когда пользователь в появившемся окне нажимает на кнопку Открыть (Open), данный метод возвращает значение DialogResult, которое надо сравнить со значением OK. Это означает, что если возвращаемое значение также равно OK, то метод сработал без ошибок, и окно открылось. При нажатии в окне на кнопку Открыть, окно закроется, а имя выбранного файла будет присвоено свойству компонента FileName, после чего его можно использовать в приложении при работе с файлом.
С помощью свойства Filter можно задать фильтр для выборки файлов. Если объявлена переменная OpenFileDialog^ openFile1 = gcnew OpenFileDialog;, то с помощью оператора присваивания openFile1->Filter = "RTF Files|*.rtf"; задается конкретное значение фильтра (в данном случае выведется в окне информация обо всех RTF файлах). Как видно из примера, значение фильтра задается в виде строки, в которой сначала описывается фильтр, затем ставится вертикальная черта, после которой указывается шаблон файлов.
Свойство DefaultExt позволяет установить расширение файла по умолчанию, например, openFile1->DefaultExt = "txt";
Компонент SaveFileDialog
Компонент находится в списке Dialogs палитры компонентов, предназначен для сохранения файла в нужном месте файловой структуры так, как это делается в Windows. Файл сам по себе не сохраняется, компонент дает только путь к месту расположения файла. Программист сам должен написать соответствующий участок кода программы для сохранения файла. Для открытия диалогового окна используется метод ShowDialog(). Компонент является невизуальным, размещается не на форме, а на специальной полосе ниже формы. Основные свойства у этого компонента совпадают со свойствами компонента OpenFileDialog.
Следует отметить свойство OverwritePrompt, которое вызывает появление диалогового окна Save As, для этого свойство должно быть установлено в true.
Когда пользователь выбирает имя файла и нажимает на кнопку Save в диалоговом окне, метод ShowDialog() заносит в свойство FileName имя файла и путь к нему. Никакой записи файла при этом не происходит, поэтому необходимо применять методы сохранения файлов.
Компонент главное меню MenuStrip
Компонент находится в списке Menus & Toolbars палитры компонентов. Компонент создает главное меню, с помощью которого пользователь управляет всей работой приложения и его частей. Разные части приложения запускаются на выполнение отдельными командами (пунктами меню), собранными в эту структуру. Структуру меню определяет программист. Меню формируется после нанесения значка меню из палитры компонентов на форму. С формой меню связывается через свойство формы MainMenuStrip, в окне которого и появляется имя компонента. После того как меню сформировано и приложение запущено на выполнение, в левой верхней части формы будет расположена строка, содержащая главные опции меню. Главные пункты меню могут распадаться на более детальные команды (подменю), располагающиеся в столбик (сверху вниз).
При переносе значка меню из палитры компонентов на форму значок располагается не на самой форме, а на полосе ниже формы. На форме (в верхней части) появляется полоса для отображения будущих опций меню. Если щелкнуть на значок в правой части полосы, то появится выпадающий список MenuStrip Tasks. Это диалоговое окно обеспечивает доступ к типичным командам и свойствам:
Embed in ToolStripContainer – позволяет поместить меню в специальный контейнер (вместо расположения его в форме). Контейнер – это объект со своим набором свойств, установка которых позволяет создавать меню, более удобное для пользователя;
Insert Standard Items – добавляет общепринятые опции меню: File с подпунктами New, Open, Save, Save As, Print, Print Preview, Exit; Edit с подпунктами Undo, Redo, Cut, Copy, Paste, SelectAll; Tools с подпунктами Customize, Options. Help с подпунктами Contents, Index, Search, About.
RenderMode – опция дает возможность выбора из выпадающего списка способа изображения меню: системного (System), профессионального (Professional) или управляемого (ManagerRenderMode);
Dock – выводит (по щелчку на кнопке) в поле этой опции схему причаливания меню к той или иной стороне формы;
GripStyle - в этой опции существует выпадающий список, задающий элемент стиля полосы меню: невидима или видима будет специальная пунктирная канавка в верхней части полосы;
Edit Items с помощью этой опции задаются подпункты самого меню. При щелчке на этой опции раскрывается диалоговое окно для задания подпунктов меню, причем в левой его части существует окно для добавления новых опций, а в правой части открывается окно для настройки свойств добавляемых опций. С помощью этого окна можно не только добавлять новые опции, но и удалять и реорганизовывать их.
Чтобы сформировать очередную опцию, надо выбрать ее тип из выпадающего списка, расположенного левее кнопки Add. Типом может быть либо собственно элемент меню, либо специальный элемент в виде компонента TextBox или компонента ComboBox.
Чаще всего используются обычные пункты меню, называемые MenuItem. После выбора из списка этого элемента надо нажать кнопку Add (добавить). После этого очередной пункт меню следует назвать. Для этого используется свойство Text. Затем необходимо задать те действия, которые будут выполняться при выборе пункта меню и щелчке на этом пункте. Создать событие щелчок на пункте меню можно простым щелчком на этом пункте.
Чтобы получить доступ ко всем событиям, надо вернуться к форме, активизировать нужную опцию меню и после этого будет получен доступ к окну Properties, в котором выбрать вкладку Events с полным перечнем возможных событий. При двойном щелчке в поле справа от события будет создано соответствующее событие и в код программы будет добавлен заголовок обработчика этого события. Заголовок обработчика будет иметь следующий вид:
private: System::Void открытьToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
}
Для добавления новых пунктов меню (в глубину и вширь меню), надо щелкнуть в поле очередного пункта меню. При этом сразу появятся два окна (ниже и справа) с надписью в них Type Here (вводите сюда).
Пункты меню можно выбирать не только с помощью мыши, но и с помощью горячих клавиш. Для задания горячих клавиш в окне Properties надо воспользоваться свойствами ShortcutKeys и ShowShortcutKeys. Первое свойство задает комбинацию клавиш, при нажатии которой опция станет выполняться, вторая опция позволяет сделать эту комбинацию видимой или невидимой.
