Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 111

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 105 106 107 108 109 110 < 111 > 112 113 114 115 116 117 .. 204 >> Следующая

• Класс документа должен определять открытые функции, позволяющие классу представления получать или модифицировать данные документа. Например, функция OnDraw должна получать данные для того, чтобы повторно выводить их в окне представления. Класс представления также должен изменять или добавлять данные в процессе редактирования. Примерами функций класса представления являются AddLine, GetLine и GetNumLines.
• Команды меню, которые непосредственно изменяют данные документа, например, команды Undo и Delete All меню Edit, должны обрабатываться классом документа. Чтобы добавить в класс документа обработчик сообщения для команды меню, можно использовать мастер ClassWizard.
• Можно определять обработчики для двух типов сообщений команд меню: C0MMAND_update_ui, передаваемого непосредственно перед отображением ниспадающего меню, содержащего команду, и command, передаваемого при выборе команды.
• Обработчик сообщения command_update_ui инициализирует пункт меню, используя функции передаваемого ему объекта ccmdui. Если обработчик делает пункт меню недоступным, то связанная с ним комбинация клавиш также блокируется.
• Команду меню выполняет обработчик командного (command) сообщения.
Глава 12
Хранение документов
• Добавление средств ввода-вывода в программу MiniDraw
• Добавление средств ввода-вывода в программу MiniEdit
В этой главе изучаются принципы сохранения и загрузки данных документа с файлов на диске. Для демонстрации базовых методов ввода-вывода рассмотрена методика добавления кода, реализующего стандартные команды меню File (New, Open..., Save и Save As...), в программы MiniDraw и MiniEdit. Вы узнаете, как реализовать технологию drag-and-drop, позволяющую открывать файл, перетаскивая объект файла из папки Windows или окна Windows Explorer и отпуская его в окне программы.
Добавление средств ввода-вывода в программу MiniDraw_
В этом параграфе мы добавим в MiniDraw команды Open..., Save и Save As..., а также код, необходимый для их реализации. В исходные файлы программы необходимо добавить все ранее сделанные модификации (см. гл. 11). Если вы не сделали этого, то получите копию файлов из каталога \MiniDrw2 прилагаемого компакт-диска.
Добавление команд в меню File
После открытия проекта MiniDraw в Developer Studio откройте вкладку ResourceView в окне Workspace для отображения списка ресурсов программы. Чтобы изменить меню программы, откройте редактор меню, выполнив двойной щелчок на идентификаторе idr_mainframe.
3™€3 Menu
§ IDR.MAINFRAME
В редакторе меню откройте меню File. Под командой New в меню File необходимо добавить команды Open..., Save, Save As..., разграничитель и команду Recent File. Для этого используйте методику, описанную в предыдущих главах. Для каждой новой команды в табл. 12.1 приведен идентификатор, надпись и другие свойства, задаваемые в диалоговом окне Menu Item Properties. На рис. 12.1 показано завершенное меню File.
Таблица 12.1. Свойства пунктов, добавляемых в меню File программы MiniDraw
идентификатор надпись другие свойства
id_file_open &Open...\tCtrl+0 Отсутствуют
id_file_save &Save\tCtrl+S Отсутствуют
id_file_save_as Save &As... Отсутствуют
Отсутствует Отсутствует Разделитель
id_file_mru_file1 Recent File Недоступны
± MiniDiaw to IDR MAINFRAME (Menu) яви
: ;f»e Е<я help [~ _ ~ tietv cm.n qpen qrl+o save qil+s ^ save at . pi":i"L5i* j._____ еда!

Рис. 12.1. Окончательный вид меню File программы MiniDraw
Примечание
Если в программе открыт хотя бы один файл, то MFC заменяет надпись Recent File именем последнего открытого файла. MFC будет добавлять в меню File имена последних использованных файлов (не более трех). При создании программы мастер AppWizard устанавливает максимальное количество последних использованных файлов равным 4. MFC хранит их имена в файле инициализации программы (MiniDraw.ini) в каталоге Windows, поэтому список команд сохраняется, когда пользователь выходит из программы и перезапускает ее.
Закройте окно редактора меню. Для этих команд задавать комбинации клавиш не нужно, так как мастер AppWizard уже определил их при первичном создании приложения. Вспомните: сгенерированное меню содержало все команды, перечисленные в табл. 12.1. (В гл. 10 они были удалены, так как в первых двух версиях программы MiniDraw не использовались.)
Следующий этап — изменение строкового ресурса программы для определения стандартного расширения файлов, отображаемых в диалоговых окнах Open и Save As. Для этого откройте редактор строк Developer Studio, выполнив двойной щелчок на элементе String Table графа ResourceView.
еь"2a String Table '•Sis String Table
Первая строка в окне редактора имеет идентификатор idr_mainframe. Она создана мастером AppWizard и содержит информацию, относящуюся к программе MiniDraw. Ее текущее значение такое.
MiniDraw\n\nMiniDr\n\n\nMiniDraw. DccumentAriMiriiDr Document
Чтобы модифицировать строку, откройте диалоговое окно String Properties. Измените содержимое поля Caption следующим образом.
MiniDraw\n\nMiniDr\nMiniDraw Files (*.drw)\n.drw\nMiniDraw.Document\nMiniDr Document
Предыдущая << 1 .. 105 106 107 108 109 110 < 111 > 112 113 114 115 116 117 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100