SDIАннотация: На этой лекции мы рассмотрим создание многооконных приложений. На практике научимся создавать модальные и немодальные окна. Подробно изучим создание SDI- интерфейсов, немного коснемся принципов работы MDI- интерфейсов.
Цель лекции. Научиться создавать многооконные приложения, применять модальные и немодальные окна. Многооконные приложения. До сих пор мы с вами все приложения делали с одним единственным окном. А между тем, в современном программировании редко встречаются программы, имеющие только одно окно. Даже простые стандартные утилиты, вроде Калькулятора calc. Я недавно закончил проект для одной организации, проект этот можно считать средней сложности, а он содержит 1.
В этой лекции мы с вами научимся делать многооконные приложения. Имеется два типа интерфейсов: SDI (Single Document Interface - однодокументный интерфейс) и MDI (Multi Document Interface - многодокументный интерфейс).
SDI- приложения работают одновременно с одним документом, MDI- приложения предназначены для одновременной работы со множеством однотипных документов. При этом все документы располагаются внутри одного контейнера, которым служит, как правило, главная форма. Компания Microsoft не рекомендует использовать MDI- интерфейсы, хотя сама использует их в различных служебных программах, например, в консолях вроде Диспетчера устройств. Кроме того, разработка MDI- приложений в Lazarus пока не реализована, так что подробно рассматривать MDI- интерфейсы мы не будем, хотя вкратце и коснемся этой темы. Но вначале - SDI. SDIВ SDI- приложениях окна могут быть двух видов - модальные и немодальные. Создаются они одинаково, разница заключается только в способе вывода этих окон на экран.
Модальное окно блокирует программу, не даёт с ней работать, пока вы это окно не закроете. Стандартный пример модального окна - окно .
Загрузка и установка преобразователя файлов MDI в TIFF. Нажмите кнопку Настройка, чтобы открыть параметры установки. Если у вас стоит Office до версии 2010, но файлы MDI не открываются через Microsoft Office Document Imaging, то это означает что файлы просто не ассоциированы с нужной. К сожалению, Free MDI Image Viewer не поддерживает функцию Drag&Drop, поэтому открывать файлы для просмотра придется при помощи меню самой программы. Отрываем первое меню «Файл» и жмем кнопку «Открыть».
Как правило, такое окно находится в меню . Типичный пример - окна Lazarus - вы можете переключаться между Инспектором объектов, Редактором кода, Редактором форм, и другими окнами - они не мешают друг другу, так как все они немодальные. Изучим работу с различными окнами на примерах. Модальные окна. Если вы помните, в. Там мы предусмотрели в меню .
Пришло время исправить это упущение. Вы должны были сохранить проект в папку 1. Code. Book. Убедитесь, что Lazarus закрыт, и загрузите файл.
Code. Book. lpi - это информационный файл проекта. В результате, загрузится Lazarus с этим проектом (с тем же успехом можно было бы загрузить файл. Code. Book. lpr). Выберите команду меню . Появится новая форма с именем по умолчанию Form. Мы с вами договаривались называть все формы понятными именами, и в начале имени ставить префиксf, что означает форму.
Поэтому в свойстве Name этой формы напишите f. About, затем нажмите кнопку . Переключитесь клавишей < F1. Редактор кода - вы увидите вкладки модулей: Рис. Переходя по этим вкладкам можно переключаться между модулями. Но нам сначала нужно сделать само окно .
Так что клавишей < F1. Редактор форм. Прежде всего, в свойстве Border. Style формы f. About выберите значениеbs. Dialog, так как нам не нужно, чтобы пользователь имел возможность изменять размеры окна, разворачивать или сворачивать его. Затем в свойстве Position выберите po.
Main. Form. Center, чтобы окно появлялось по центру главного окна. До сих пор мы не устанавливали это значение у окон, так как все наши приложения содержали единственное, оно же главное окно. Главным в проекте считается окно, созданное первым, его мы обычно называем f. Main. В свойстве Caption формы напишите . Чтобы сделать из панели красивую рамку, установите в её свойстве Bevel. Innerзначениеbv. Lowered. Далее, на панель установите две метки TLabel и один TMemo.
В TMemo мы будем выводить многострочный текст с пояснением о назначении программы. Поскольку нам не нужно, чтобы пользователь мог редактировать этот текст, свойство Read. Only компонента Memo. True. Текст в Memo.
Редактором через свойство Lines. Ниже панели установите кнопку TBit. Btn с вкладки Additional Палитры компонентов, в свойстве Kind кнопки выберите значениеbk. OK. Для экономии места я не буду подробно расписывать, как вводить в метки текст, менять у компонентов шрифты и размеры - вы прекрасно должны уметь делать это сами.
В результате у вас должна получиться примерно такая форма: Рис. Copyright) означает авторское право. Причем авторское право может быть двух видов - имущественное и неимущественное.
Если вы делаете программу на заказ, то имущественное авторское право принадлежит заказчику - он может устанавливать эту программу на сколько угодно компьютеров, продавать или дарить ее. Неимущественное право в любом случае принадлежит автору программы, то есть, вам. Оно подразумевает, что программу нельзя переименовывать или изменять её код без вашего согласия, и что в программе вы обязательно должны упоминаться, как автор. Таким образом, если вы делаете программу на заказ, вы не обязаны вместе с программой отдавать исходный код вашего проекта!
Иначе получится, что вы передаете заказчику не только имущественное, но и неимущественное право, а это уже будет цена продукта на порядок выше. Так вот, в строчке Copyright указывается имущественный правообладатель. Если вы делаете программу на заказ, здесь вы должны указать заказчика.
Себя же вы можете упомянуть строчкой ниже, установив еще одну метку, и начав ее текст, как . Но поскольку в данном проекте заказчика у нас нет, то все авторские права принадлежат нам. Кстати, указывайте не мою, а свою фамилию, ведь я добровольно выкладываю этот код для общего использования, а проект по моим описаниям делали все же вы! И еще. Знак авторского права . Чтобы вставить его в Caption метки, при вводе текста нажмите < Alt> , и удерживая его, наберите 0.
Затем отпустите < Alt>. Символ должен появиться в метке. Вместо этого знака иногда указывают упрощенный вариант: . Сделайте, как считаете нужным. Окно мы сделали, нужно теперь научить программу выводить его по требованию пользователя. Кнопкой < F1. 2> перейдите в Редактор кода, затем, щелкнув по вкладке Main, перейдите на модуль главной формы.
Файл MDI является одним из файлов категории Файлы макетов страниц. Его полное название это Microsoft Document Imaging File. Поводов того, что Вы не можете открыть файл MDI может быть больше (не только отсутствие соответствующего приложения).
Вот так, сходу, мы ещё не сможем вызвать форму f. About, сначала нужно подключить её модуль к главной форме. В разделе uses главной формы, после модуля My. Cript через запятую добавьте модуль новой формы About.
Формат файла MDI - описание, чем открыть файл MDI. Тип файла: Microsoft Document Imaging FileРазработчик: MicrosoftКатегория: Файлы макетов страниц. MDI (Microsoft Document Imaging format) — формат файла, разработанного компанией Microsoft для хранения растровых изображений, полученных в. Чем открыть формат файла mdi. Если вы работаете со сканированной документацией, иллюстрациями, фотографиями и прочими похожими. MDI (Microsoft Document Imaging format) — формат файла, разработанного компанией Microsoft для хранения растровых изображений, полученных в .
Теперь мы сможем вызывать это окно! Сгенерируйте событие On. Click для команды меню . Её код очень простой. Tf. Main. Help. About.
Click(Sender: TObject). About. Show. Modal.
Метод Show. Modal, указанный в коде, вызывает на экран окно f. About в модальном режиме. Пока окно не закроется, с программой работать будет нельзя. Как только оно закроется, управление передастся обратно в программу. Сохраните проект, запустите его на выполнение и убедитесь, что окно .
Однако не спешите закрывать проект, он нам еще понадобится.
Microsoft Document Imaging Format в. Р’ Microsoft Office Р.