Создание пользовательского интерфейса приложения (окончание)

   
На этом шаге мы рассмотрим использование стандартных окон диалога.

   
Рассмотрим применение стандартных диалоговых окон Windows путем создания экземпляра MFC-класса
CFileDialog. С помощью команды Import выполняется поиск и открытие текстового файла для
импорта в приложение STUpload. Напишем обработчик команды Import, который вначале будет
только отображать стандартное диалоговое окно, предназначенное для открытия файлов с расширением *.dat.
Поскольку задача функции-обработчика состоит в том, чтобы загружать данные приложения, то создадим функцию
как метод объекта CSTUploadDoc документа приложения.

  • Создание функции-обработчика команды Import.
  • Нажмите CTRL+W, чтобы вызвать ClassWizard.
  • В списке Class Name выберите CSTUploadDoc.
  • В списке Object IDs щелкните ID_DATA_IMPORT.
  • В списке Messages выберите COMMAND.
  • Щелкните Add Function, а затем - ОК, чтобы подтвердить имя функции OnDataImport.
    Рис.1. Создание функции-обработчика
  • Реализация функции OnDataImport().
  • Щелкните Edit Code, чтобы отредактировать код функции.
  • Вставьте следующий код:
    // String to customize File Dialog
    CString strFilter = "Data Files (*.dat)|*.dat|All Files (*.*)|*.*||";
    CFileDialog aFileDialog( TRUE, NULL, NULL,
                        OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, strFilter);
    int nID = aFileDialog.DoModal();
    


    Рис.2. Редактирование функции OnDataImport()

       
    Этот код создает экземпляр MFC-класса CFileDialog. Передаваемая конструктору строка фильтра
    определяет, что стандартное диалоговое окно открытия файлов создаст фильтр для отображения только файлов с
    расширением *.dat, хотя пользователь вправе выбрать и фильтр *.* ("All files" - "все файлы").
    Диалоговое окно активизируется вызовом метода CDialog::DoModal() базового класса.

       
    Теперь Вы можете собрать и запустить приложение STUpload. Проверьте работу меню, появление подсказок
    в строке состояния и всплывающих подсказок. Выберите пункт Import в меню Data, чтобы убедиться,
    что стандартное диалоговое окно отображается на экране, как ожидалось. На этом этапе мы не можем отобразить
    созданные только что диалоговые окна. Для них уже есть шаблоны и классы, но код не создает экземпляры этих классов.
    Эту работу мы выполним позднее.

   
Текст измененного приложения можно взять здесь (58,1 Кб).

   
Со следующего шага мы начнем рассматривать реализацию функций приложения.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий