...
...

От Delphi 4 к Delphi 5 часть 5



От Delphi 4 к Delphi 5

Панель кнопок быстрого доступа или "горячие" клавиши
Место расположения кнопок быстрого доступа (рисунок 1) позволяет проводить удобную и быструю работу с командами, наиболее часто употребляемыми вами, в процессе создания приложения.

Панель кнопок быстрого доступа позволяет дублировать команды, которые используются в главном меню Delphi, и таким образом сокращает время доступа к ним. К таким командам могут относиться команды открытия файла или проекта, сохранения файла или проекта и т.д.

Очень удобно использовать кнопки панели быстрого доступа в процессе написания программного кода или его редактирования. В этом случае часто может использоваться кнопка возврата действий Undo, кнопка проверки написанного кода на синтаксические ошибки Syntax check и другие кнопки. Необходимо помнить, что после сохранения изменений в приложении возврат к прежнему положению не возможен, и вам не помогут кнопки Undo и Redo. Это необходимо иметь в виду, когда вы изменяете исходную программу, чтобы посмотреть, к чему это приведет, и в случае неудовлетворительного результата возникнет необходимость вернуться в прежнее положение.

Место расположения панели кнопок быстрого доступа называется линейкой инструментов. Размеры этой линейки можно изменять и настраивать ее содержимое. То есть вы сами можете определить перечень "горячих" кнопок на ней, необходимых для работы. Для этого надо щелкнуть правой кнопкой мыши в области линейки инструментов.

В раскрывшемся списке необходимо выбрать команду Customize, которая открывает диалоговое окно, в котором выберите вкладку Commands . Выбрав команду из списка, нажмите левую кнопку мыши и, не отпуская ее, перетащите нужные команды на линейку инструментов. Обратным порядком ненужные компоненты убираются с линейки инструментов. Увеличение или уменьшение размеров панели кнопок быстрого доступа возможно за счет уменьшения места, выделяемого под палитру компонентов.

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

    1. Произведите щелчок правой кнопкой мыши над полем панели кнопок быстрого доступа, появится меню (рисунок 2). Если вы уберете галочки, слева от команд Standard, View, Debug, Custom, Component Palette, Desktops вы удалите перечисленные разделы панели кнопок быстрого доступа и собственно саму панель, если в ней нет надобности. Выход на меню настройки панели возможен также по следующему пути: команда главного меню View, далее команда Toolbars (рисунок 3).
    2. После выбора команды Customize появится диалоговое окно Customize. Первая страница Toolbars позволяет убирать отдельные разделы панели кнопок быстрого доступа. Страница Commands (рисунок 4) позволяет перемещать командные кнопки на панель кнопок быстрого доступа и обратно на страницу. Чтобы добавить командные кнопки, необходимо перенести их из страницы Commands, выбирая соответствующую кнопку из списка. Чтобы удалить кнопку с панели кнопок быстрого доступа, необходимо стащить соответствующую кнопку с панели на страницу Commands.
Компонент PopupMenu. Создание всплывающего меню. Всплывающее меню — это второй тип меню, поддерживаемый Delphi. Компонент PopupMenu отличается от MainMenu тем, что он может быть связан со многими компонентами Delphi. Всплывающее меню появляется над изображением компонента и не прикреплено ни к какой линейке основного меню вашего приложения. Отображение меню происходит после нажатия пользователем правой кнопки мыши над компонентом. Каждый визуальный компонент может иметь свое собственное всплывающее меню с набором команд, относящихся к данному компоненту. В отличие от основного меню, всплывающее не имеет постоянного места появления на экране, оно возникает в том месте, где пользователь нажал правую кнопку мыши, — главное, чтобы курсор находился на необходимом компоненте. Достоинство этого меню в том, что оно не занимает экранного места. Но его недостаток в том, что вы можете и не догадываться о его существовании или о том, как его вызвать. Рассмотрим пример создания всплывающего меню.
    1. Запустите Delphi .
    2. Поместите на форму компонент Memo со страницы Standard палитры компонентов и компонент PopupMenu . Для компонента Memo1 на странице Properties инспектора объекта найдите свойство Scrollbars. Раскройте комбинированное окно, расположенное напротив свойства, и выберите значение ssVertical . Это необходимо для того случая, когда количество элементов в списке компонента Memo1 превысит размеры окна по вертикали. Тогда появится вертикальная полоса прокрутки, позволяющая видеть остальные элементы списка. Для компонента PopupMenu место его положения на форме не имеет значения. А компонент Memo можете поместить на любое выбранное вами место. Когда помещаете компонент на форму, то просто нажмите на позиции, где хотите его видеть. Размеры компонента задаются по умолчанию, но их можно задать свойствами Width (ширина) и Height (высота).
    3. Имеется несколько способов определения размеров компонентов. Можно поместить компонент на форму и, не отпуская левой кнопки мыши, задать ему размер. Активизированный компонент имеет по краям прямоугольную область. Петельки этой области являются " ручками" установки размеров. Захватывая одну из этих ручек нажатием левой кнопки мыши и перемещая по форме, можете изменить размер компонента. После того как вы отпустите кнопку мыши, компонент приобретает заданные размеры. Изменение размера возможно после нажатия клавиши Shift и, не отпуская ее, нажимайте клавиши со стрелками, чтобы изменить размер компонента в выбранном направлении. Устанавливать размер можно также с использованием инспектора объекта. Для этого необходимо выделить или активизировать компонент и перейти на страницу Properties . В списке, отображаемом на странице, найдите свойства Width и Height . Изменяя их значения, т.е. вводя новые цифровые значения, и нажав клавишу Enter, вы увидите новые размеры компонента. Можно определять значения ширины и высоты в программном коде, описывающем данный компонент.
    4. Сохраните файл модуля и файл проекта, используя команду Save Project As... Файл модуля сохраните под именем Sail_pas, а файл проекта — под именем Sail. dpr .
    5. Удалите текст в компоненте Memo1. Для этого активизируйте компонент на форме, перейдите на страницу Properties инспектора объекта, найдите свойство Lines. Подсветится команда (TStrings), щелкните два раза по кнопке с тремя точками левой кнопкой мыши. Откроется диалоговое окно String list editor . Здесь вы можете удалить ненужный текст, используя клавишу Delete или ввести необходимый текст.
    6. Добавьте три компонента Button на форму и три компонента Edit. Используя свойство Caption инспектора объекта страницы Properties, для кнопок Button напишите текст на их лицевой части " Ввод текста ", " Очистить окна ", " Обнулить " соответственно. Используя свойство Font, произведите изменение шрифта текста на лицевой части кнопок, для этого два раза щелкните по кнопке с тремя точками справа от строки ( TFont). Откроется диалоговое окно " Выбор шрифта ". Вы можете задать любой шрифт и определить его цвет. Для трех компонентов Edit1, Edit2, Edit3, используя свойство Text на странице Properties инспектора объекта, удалите надписи Edit1, Edit2, Edit3.
    7. Поместите на форму четыре компонента Label1, Label2, Label3, Label4 со страницы Standard палитры компонентов. Поместите их над окнами редактирования и введите надписи (рисунок 5) " Меню туриста", "Стоимость", "Название блюда", "Общая стоимость".
    8. Измените имена кнопок в соответствии с их назначением. Для Button1 введите имя " Vvod", для Button2 — имя "Null ", для Button3 "ClearButton ". Для этого необходимо выбрать свойство Name инспектора объекта.
    9. Используя компонент PopupMenu, сформируйте команды для всплывающего меню. Для этого щелкните два раза по пиктограмме PopupMenu, откроется проектировщик меню. Введите для первого элемента меню заголовок " Вход ". Для второго элемента меню введите заголовок " Выравнивание ", используя свойство Caption инспектора объекта для выделенных элементов. Следующий элемент будет иметь вид черты, для этого необходимо ввести в свойство Caption разделительную черту.
    10. Дальнейшие команды таковы: "Влево", "Вправо", "По центру". Затем отобразим разделительную черту. Следующие команды будут иметь заголовки: " Выбор цвета", "Красный", "Желтый", "Зеленый ". Измените имена элементов для всплывающего меню, для чего выберите элемент меню, например " Выравнивание ", найдите свойство Name на странице Properties инспектора объекта и введите имя " Ravn". Вы можете ввести свои имена. Для остальных элементов определены следующие имена: " Prav", "Lev", "Cent", "Vybor", "RedMenu", "YellowMenu", "GreenMenu".

    11. Свяжите компонент PopupMenu с компонентом Memo1 . Для этого активизируйте компонент Memo1, на странице Properties для данного компонента найдите свойство Popup Menu . Раскройте список и выберите из него PopupMenu1. Таким образом, произошло связывание всплывающего меню с компонентом Memo1.
    12. Введите программный код, используя двойной щелчок по элементам меню для перехода в окно Редактора кода.
    13. На рисунке 5 показан процесс размещения компонентов на форме, на рисунке 6 представлен результат работы программы. Программный код представлен ниже.
    14. implementation {$R *.DFM} var X, SUM:Integer; procedure TForm1.VvodClick(Sender: TObject); beg
      in Memo1.Lines.Add(Edit1.Text); X:=StrToInt(Edit2.Text); SUM:=SUM + X; Edit3.Text:=IntToStr(SUM); en
      d; procedure TForm1.ClearButtonClick(Sender: TObject); begin Edit1.Clear; Edit2.Clear; end; procedur
      e TForm1.NullClick(Sender: TObject); begin SUM:=0; Edit3.Clear; end; procedure TForm1.RedMenuClick(S
      ender: TObject); begin Memo1.Color:=clRed; end; procedure TForm1.YellowMenuClick(Sender: TObject); b
      egin Memo1.Color:=clYellow; end; procedure TForm1.GreenMenuClick(Sender: TObject); begin Memo1.Color
      :=clGreen; end; procedure TForm1.PravClick(Sender: TObject); begin Memo1.Alignment:= taRightJustify;
       end; procedure TForm1.LevClick(Sender: TObject); begin Memo1.Alignment:= taLeftJustify; end; proced
      ure TForm1.CentClick(Sender: TObject); begin Memo1.Alignment:= taCenter; end; procedure TForm1.Windo
      ws1Click(Sender: TObject); begin Memo1.Color:=clWindow; end; end.
      
      Описание работы программы.

      В окно текстового редактора Edit1 введите название блюда, в окно текстового редактора Edit2 введите его стоимость. После нажатия кнопки " Ввод текста" в компонент Memo записывается текстовая часть названия блюда, а стоимость суммируется в окне Edit3 . Щелчок по кнопке " Очистить окна " приводит к удалению текста из окон Edit1 и Edit2 . Кнопка " Обнулить " приводит к удалению текста из окна " Общая стоимость".

      Так как разделы всплывающего меню в приложениях обычно повторяют разделы уже созданного главного меню, то можно обойтись копированием соответствующих разделов главного меню.

      Таким образом, процесс создания всплывающего меню будет более легким. Для этого необходимо на компоненте PopupMenu щелкнуть правой кнопкой мыши, из всплывшего меню необходимо выбрать команду Select Menu (выбрать меню). Откроется диалоговое окно, используя которое вы можете перейти в главное меню (рисунок 7). Выделите нужный раздел или разделы (при нажатой клавише Shift выделяются разделы в заданном диапазоне, при нажатой клавише Ctrl можете выделить совокупность разделов, не являющихся соседними).

      Произведите копирование их в буфер обмена, нажав совместно клавиши Ctrl+C. После этого вновь произведите щелчок правой кнопкой мыши на компоненте PopupMenu, выберите команду Select Menu и вернитесь во всплывающее меню. Укажите курсором место, в которое хотите вставить скопированные разделы, и нажмите клавиши чтения из буфера обмена Ctrl+V.

      Разделы меню со всеми их свойствами будут скопированы в создаваемое вами всплывающее меню. В общем случае работа с PopupMenu не отличается от работы с MainMenu.

      Литература:

        1. Марко Канту. Delphi 2 для Windows 95/NT. Москва. ООО "Малип". 1997г.
        2. Джон Матчо. Дэвид Р. Фолкнер. Delphi. Москва. БИНОМ. 1995г.
        3. Эндрю Возневич. Delphi. Освой самостоятельно. Москва. Восточная книжная компания. 1996г.
        4. В.В.Фаронов. Delphi 5. Учебный курс. Москва. Издательство Нолидж. 2000г.
        5. А. Я. Архангельский. Программирование в Delphi 5. Москва. ЗАО "Издательство Бином". 2000 г.

      Владимир Скуратов

      (c) компьютерная газета





    © Компьютерная газета

    полезные ссылки
    Ремонт ноутбуков, компьютеров, мониторов