VC++ № 10. Элементы управления для работы с файловой системой

Целью урока является знакомство с тем, как осуществляется в Visual c++ работа с файлами, рассматриваются принципы работы с объектом OpenFileDialog.

Объект Visual c++ OpenFileDialog для работы с файлами

Разработайте приложение, которое выводит на экран выбранный графический файл

Целью урока является знакомство с тем, как осуществляется в Visual c++ работа с файлами, рассматриваются принципы работы с объектом OpenFileDialog.

Инструментарий:

объект свойство name
форма  
контейнер для изображения (PictureBox) pct
кнопка (button) btn
диалоговое окно (OpenFileDialog) file1

visual c++ работа с файловой системой через OpenFileDialogВыполнение:

  1. Создайте новый проект и расположите элементы управления PictureBox (pct) и Button (btn) на новой форме, как показано на рисунке. Добавьте также элемент управления OpenFileDialog (в свитке Диалоговые окна). Это скрытый элемент, не отображается в дизайне формы. Для свойства name элемента задайте имя file1.
  2. Предположим, необходимо открывать только изображения формата jpg. В таком случае, необходимо задать фильтр. Сделать это следует при загрузке формы, т.е. нужно запрограммировать событие Load для формы:
 
this->file1->Filter="(*.jpg)|*.jpg";

До прямого слэша указывается, как будет отображаться фильтр в окне, а после – сама маска фильтра.

  1. Теперь осталось вывести изображение в PictureBox (pct). Для этого запрограммируем событие click для кнопки:
 
String ^fname;// объявление строковой переменной
file1->ShowDialog();//открываем диалоговое окно
fname=file1->FileName;//используем переменную для хранения имени выбранного файла
pct->Image=Image::FromFile(fname);//загружаем файл в элемент PictureBox

Здесь мы опустили все обращения к this->, это допускается в visual c++.

  1. Протестируйте результат.
Дополнительное задание. Добавьте на форму текстовое окно для вывода полного имени графического файла.
Самостоятельное задание: Добавьте на форму объект SaveFileDialog – диалоговое окно для сохранения файла и кнопку Сохранить. Самостоятельно изучите работу с объектом.
Вопросы для самоконтроля:

  1. Назовите основное назначение элемента управления в Visual c++ OpenFileDialog.
  2. Какое свойство элемента управления OpenFileDialog используется для открытия файлов конкретного формата?
  3. Каково назначение элемента управления PictureBox?
  4. Когда генерируется событие Load для формы?