

Программирование на языке MFC
Мой второй блог в серии программирования
Класс CFileDialog
Итак, что мы видим? Во-первых, в самом начале текста функции создается объект класса CFileDialog, т. е. непосредственно диалоговое окно. Бросается в глаза, что первый аргумент функции, fileName, используется для записи в него имени выбранного файла. Также сразу видно, что четвертый аргумент метода, bOpenFileDialog, используется как параметр конструктора диалогового окна. Если bOpenFileDialog равен TRUE, то создается окно для открытия файла. Если же bOpenFileDialog равен FALSE, то создается окно для сохранения файлов. В данном случае bOpenFileDialog равен TRUE, поэтому создается окно для открытия файла. После создания окна из недр MFC загружается строка, содержащая заголовок этого стандартного окна. При этом идентификатором строки ресурсов, содержащей заголовок, является второй аргумент метода, nIDSTitle. Возможные значения идентификаторов и, соответственно, заголовка окна я привожу в 15.
Если читатель помнит, то значение второго аргумента при вызове функции было равно AFXJDS_OPENFILE, следовательно, у диалогового окна будет заголовок «Ореп».
Затем в методе производится установка флагов диалогового окна. Флаги передаются методу как третий аргумент (в данном случае из диалогового окна удаляется окошечко «Read only» и определяется, что в пользователь может выбирать только имена уже существующих файлов).
После установки флагов, как следует из текста, производится формирование списка фильтра файлов, а затем выдача окна на отображение. И на этом все дела по выбору файлов заканчиваются. Эти действия являются стандартными, ничего особенного в них нет, ничего нового к нашему пониманию происходящего они не добавляют. Однако на этом не заканчивается наша работа. Мы не ответили на поставленные вопросы! Мне бы хотелось, чтобы читатель в очередной раз запасся бы терпением.
Похожие статьи: Класс CFileDialog
