Отправляет email-рассылки с помощью сервиса Sendsay

Учебники по программированию

  Все выпуски  

Учебники по программированию


Информационный Канал Subscribe.Ru


 ВНИМАНИЕ ! ! ! Перед вами рассылка сайта http://grafm-web.narod.ru . Размер каждого письма не будет превышать 8 кб. Подробно изучив каждое письмо из этой рассылки вы познакомитесь со средой программирования Delphi. Создайте на своем компьютере папку book и поместите в нее все файлы из рассылки, у вас получится краткий учебник по Delphi. Архив рассылки ведется на сайте http://grafm-web.narod.ru. Если вы заинтересуетесь этим языком программирования, вы можете получить полноценную программу для обучения работе в среде Delphi. Причем обучение будет вестить из самой оболочки Delphi, тоесть наглядно. Найти эту обучающую программу вы можете на сайте http://grafm-web.narod.ru . По всем вопросам вы можете обращаться по электронной почте: grafm-web@yandex.ru

Рассылка № 12

Создание приложений SDI
 

    • Пример SDI приложения
      • Построение интерфейса
      • Написание кода

    Термин SDI (Single Document Interface) дословно означает одно-документный интерфейс и описывает приложения, способные загрузить и использовать одновременно только один документ. Программа Notepad является ярким представителем такого класса программ.
    Следует сказать несколько слов о термине документ. Приложения становятся все более объекто-центричными, т.е. они работают с неким центральным объектом, в который могут быть внедрены внешние объекты. В общем случае эти внешние объекты обрабатываются другим специализированным приложением. Примером может служить Wordpad , позволяющий внедрять любые OLE-объекты в свои файлы. Но он остается при этом SDI-приложением, так как может работать только с одним объектом (или документом в широком смысле этого слова) Wordpad.

 

    Способность одновременно работать только с одним объектом не мешает приложению использовать дополнительные формы, например диалоговые окна, панели инструментов и прочее Для реализации этих возможностей в Delphi просто добавьте форму в ваше приложение и установите ее свойство FormStyle равным fsSizeToolWin или fsToolWindow.
    Еще одним примером может служить сама Delphi — огромное количество панелей инструментов, меню, разнообразных библиотек компонентов, взаимодействующих между собой форм... Но в целом она остается SDI-приложением, так как может загрузить и использовать одновременно только один объект.
 

Пример SDI-приложения
    Для демонстрации SDI создадим простую программу просмотра изображения.
.

Построение интерфейса
    Обычно первым шагом построения программы является создание интерфейса. Не будем отступать от традиций, и выполним следующие действия.

    1. Выберите команду File/New Application, и появится пустое приложение.
 


Совет: Delphi по умолчанию создает именно SDI-приложение. Однако хранилище объектов предоставляет возможность назначить новый шаблон проекта по умолчанию.

    2. Установите следующие свойства форм.
        Свойство                                          Значение
        Caption                                             Image Viewer
        Name                                                frmMain
        ShowHint                                           True

    3. Поместите компонент TPanel в форму. Установите следующие его свойства.
        Свойство                                           Значение
        Align                                                  alTop
        Caption                                                 -

    4. Поместите три компонента TSpeedButton в TPanel и назовите их spbtnLoad, spbtnStretch и spbtnCenter. Установите следующие их свойства.
        Свойство                                          Значение
        spbtnLoad.Hint                                     Load
        spbtnLoad.Left                                     8
        spbtnLoad.Top                                     8
        spbtnStretch.AllowAlIUp                         True
        spbtnStretch.Grouplndex                        1
        spbtnStretch.Hint                                 Stretch
        spbtnStretch.Left                                 48
        spbtnStretch.Top                                 8
        spbtnCenter.AllowAlIUp                          True
        spbtnCenter.Grouplndex                         2
        spbtnCenter.Hint                                  Center
        spbtnCenter.Left                                  80
        spbtnCenter.Top                                  8

    5. Поместите еще одну TPanel в форму и установите следующие ее свойства.
        Свойство                                             Значение
        Align                                                   alClient
        Caption                                                        -

    6. Поместите компонент ТImage во вновь созданную ТPanel и установите следующие его свойства.
        Свойство                                             Значение
        Align                                                   alClient
        Name                                                  imgMain

    7. Добавьте в форму TOpenDialog со следующими свойствами.
        Свойство                                             Значение
        Filter                                            Bitmaps (*.bmp)|*.bmp
        Name                                           opndlgLoad
        Options                                        [ofPathMustExist,ofFileMustExist]

    Delphi предоставляет вам множество значков для компонента TSpeedButton; они находятся в каталоге IMAGES\BUTTONS. Для нас вполне подойдут следующие установки свойств Glyph.

        Свойство                                             Значение
        spbtnLoad.Glyph                                    FLDROPEN.BMP
        spbtnStretch.Glyph                                FONTSIZE.BMP
        spbtnCenter.Glyph                                 PICTURE.BMP

    Теперь самое время сохранить проект, выбрав в меню команду File/Save Project As. Сохраните Unit1 как Main, а проект — как EgSDIApp.

Написание кода
    Теперь, после создания интерфейса, перейдем к написанию исходного текста вашего приложения. Сначала загрузите изображение следующим образом.
        1. Дважды щелкните на компоненте spbtnLoad, и Delphi выведет окно редактора и автоматически создаст обработчик события OnClick.
        2. Введите код.
 
                if opndlgLoad.Execute then
                        imgMain.Picture.LoadFromFile(opndlgLoad.FileName);
 
    Метод opndlgLoad.Execute вызывает стандартное диалоговое окно открытия файла. Если вы выбрали файл и щелкнули на ОК, метод возвращает True и загружает в свойство FileName полный путь к имени файла. При щелчке на Cancel или нажатии клавиши <Esc> метод вернет False.
    Компонент TImage предоставляет свойство Picture, которое является экземпляром класса TPicture. Этот класс обеспечивает работу с растровыми изображениями, пиктограммами и метафайлами. Один из его методов, LoadFromFile, служит для загрузки изображения по имени файла.
    Выберите команду Run/Run для компиляции и запуска приложения и попытайтесь открыть картинку.
    Теперь добавьте возможность растягивания изображения.
        1. Дважды щелкните на компоненте spbtnStretch, и Delphi выведет окно редактора и автоматически создаст обработчик события OnClick.
        2. Введите код.

imgMain.Stretch:= spbtnStretch.Down;

    Компонент TSpeedButton имеет свойство Down, которое равно True при нажатой кнопке. Свойство Stretch класса TImage позволяет растянуть картинку.
    Для выравнивания картинки по центру воспользуйтесь приведенной выше инструкцией (только используйте компонент spbtnCenter) и введите следующий код:

imgMain.Center:= spbtnCenter.Down;

 ВНИМАНИЕ ! ! ! Перед вами рассылка сайта http://grafm-web.narod.ru . Размер каждого письма не будет превышать 8 кб. Подробно изучив каждое письмо из этой рассылки вы познакомитесь со средой программирования Delphi. Создайте на своем компьютере папку book и поместите в нее все файлы из рассылки, у вас получится краткий учебник по Delphi. Архив рассылки ведется на сайте http://grafm-web.narod.ru. Если вы заинтересуетесь этим языком программирования, вы можете получить полноценную программу для обучения работе в среде Delphi. Причем обучение будет вестить из самой оболочки Delphi, тоесть наглядно. Найти эту обучающую программу вы можете на сайте http://grafm-web.narod.ru . По всем вопросам вы можете обращаться по электронной почте: grafm-web@yandex.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное