32 Урока Borland Delphi


Урок 07 - часть 8


и перечислимый тип в TShapeType: а именно, порядковые номера.

Итак, Вы видите, что Delphi является очень гибким и мощным программным средством, которое позволяет Вам быстро реализовать логику Вашей программы и предоставляет полное управление приложением.

  • Программа SHAPEDEM2
  • Программа SHAPEDEM проста в написании и в освоении. Однако при изменении пользователем размера окна она будет выглядеть “некрасиво”. Давайте изменим ее таким образом, чтобы программа сама обрабатывала изменение размера окна, а заодно изучим компонент меню. Для достижения этих целей сделаем следующее:
    • Кнопки и выпадающий список уберем с экрана и вместо них поместим на форму компонент меню (MainMenu)
    • “Заставим” полосы прокрутки изменять свое положение в зависимости от размера окна
    • “Заставим” свойство Position полос прокрутки изменяться, чтобы правильно отражать размер формы.
    Взглянув на рис.8, Вы сможете увидеть, как будет выглядеть программа после этих изменений.

    Рис. 8: Программа SHAPDEM2 имеет возможность реагировать на изменение пользователем размера окна
     
     

    Листинг B: Программа SHAPDEM2 включает метод FormOnResize. Представлен главный модуль.

    unit Main;
    interface
    uses
    WinTypes, WinProcs, Classes, Graphics, Forms, Controls, ColorDlg, StdCtrls, Menus, Dialogs, ExtCtrls;
    type
    TForm1 = class(TForm)
    Shape1: TShape;
    ColorDialog1: TColorDialog;
    ScrollBar1: TScrollBar;
    ScrollBar2: TScrollBar;
    MainMenu1: TMainMenu;
    Shapes1: TMenuItem;
    ShapeColor1: TMenuItem;
    FormColor1: TMenuItem;
    Shapes2: TMenuItem;
    Rectangle1: TMenuItem;
    Square1: TMenuItem;
    RoundRect1: TMenuItem;
    RoundSquare1: TMenuItem;
    Ellipes1: TMenuItem;
    Circle1: TMenuItem;
    Exit1: TMenuItem;
    procedure NewShapeClick(Sender: TObject);
    procedure ShapeColorClick(Sender: TObject);
    procedure FormColorClick(Sender: TObject);
    procedure ScrollBar2Change(Sender: TObject);
    procedure ScrollBar1Change(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    private
    { Private declarations }




    - Начало -  - Назад -  - Вперед -