Опубликован: 07.04.2008 | Уровень: специалист | Доступ: платный
Лекция 5:

Свойства

< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Аннотация: Здесь вы познакомитесь со свойствами формы и кнопки. Изучите управляющую конструкцию case и цикл while. Напишете шуточное приложение, используя пройденный материал.

Свойства формы

Мы сделали уже немало проектов, но пока не научились, как следует создавать форму. Разберем несколько полезных свойств формы, чтобы улучшить ее вид.

BorderIcons – свойство определяет, какие кнопки должны быть у полученного окна. Имеет только 4 значения, каждое из которых может быть True, то есть кнопка есть, и False, то есть, ее нет.

  • BiSystemMenu определяет, будет ли у формы системное меню, которое показано в виде иконки слева на заголовке окна. Кроме того, будут ли там другие кнопки заголовка.
  • BiMinimize определяет кнопку минимизации (сворачивания) окна. При этом False не убирает саму кнопку, а только делает ее неактивной.
  • BiMaximize точно также определяет кнопку разворачивания окна.
  • BiHelp – кнопка помощи в виде вопросительного знака. Не покажется у обычного вида формы, даже если поставить в True.

BorderStyle – свойство формы, определяет ее общий вид. Может быть:

  • BsSizeable – обычное окно. Установлено по умолчанию. Стандартное окно, которое может менять размеры.
  • BsDialog – окно в форме диалога, имеет только кнопку "закрыть".
  • BsNone – окно вообще без оборки и без заголовка окна.
  • BsSingle – отличается от обычного окна тем, что у него нельзя изменить размеры.
  • BsSizeToolWin – окно с тонкой оборкой. Особенно это заметно у заголовка окна.
  • BsToolWindow – такое же, как предыдущее, но у этого окна нельзя менять размеры.

BorderWidth – ширина оборки окна. По умолчанию установлен 0.

Color – цвет рабочей области окна. Не очень-то увлекайтесь раскраской окон! По крайней мере, помните, что если вы решили сделать окно, непохожее на стандартное, то все окна приложения придется делать такими же, чтобы поддержать общий стиль программы. А вообще все профессиональные приложения стремятся иметь стандартный вид.

Cursor – вид указателя мыши. Вы выбираете, как будет выглядеть указатель при наведении на форму.

Font – выбор шрифта по умолчанию. Другими словами, если Вы измените шрифт, то все компоненты, устанавливаемые на форму, по умолчанию примут его.

Heightвысота окна. Обратите внимание, что когда вы мышью изменяете размер окна, это свойство автоматически меняет значение.

Icon – иконка в заголовке окна. Если дважды щелкнуть по этому свойству, выйдет окно загрузки другой иконки. По умолчанию установлена стандартная иконка Delphi 7, но можно сделать и свою собственную. Чаще всего используют коллекции иконок, скачанных из интернета. Но если Вы чувствуете в себе талант художника, можете попробовать сделать иконку для своего проекта самостоятельно. Для этого используйте встроенную утилиту Image Editor, ярлык которой находится там же, где Delphi. Выберите команду "File – NewIcon file", и рисуйте на здоровье!

Name – имя компонента формы. Это свойство вместе со свойством Caption мы уже рассматривали, так что просто вспомним, что Name главной формы желательно всегда указывать одинаково, например, fMain.

Position – расположение окна. Довольно важное свойство! Оно имеет несколько значений:

  • PoDefault – Windows сам будет решать, где расположить Ваше окно на экране, и какие у него будут размеры.
  • PoDefaultPosOnly – Windows решает, где будет окно, а размеры его будут такими же, как Вы их установили.
  • PoDefaultSizeOnly – позиция остается, как Вы указали, но Windows решает, какие у окна будут размеры.
  • PoDesigned – это значение по умолчанию. И позиция, и размеры остаются такими, как Вы их создали.
  • PoDesktopCenter – выбирайте этот вариант, если желаете, чтобы окно всегда выходило по центру рабочего стола.
  • PoMainFormCenter – это значение используют для дочерних окон, о которых речь будет впереди. Если у дочернего окна выбран этот вариант, то оно всегда будет появляться по центру главной формы.
  • PoOwnerFormCenter – это значение заставит дочернее окно появляться по центру того окна, из которого оно вызвано.
  • PoScreenCenter – окно появляется по центру экрана. Почти то же самое, что и PoDesktopCenter.

Width – ширина окна. Как и высота, это свойство меняет свое значение, когда Вы меняете размер формы.

WindowState – состояние окна после запуска. Имеет три значения:

  • WsNormal – по умолчанию. Окно показывается в нормальном состоянии.
  • WsMaximized – окно появляется в развернутом виде.
  • WsMinimized – окно появляется в свернутом виде.

Вот, собственно, и все основные свойства формы. Теперь попробуйте поэкспериментировать с этими свойствами, и посмотреть, как будет меняться внешний вид формы. Большинство из этих свойств общие для всех компонентов. Мы уже говорили, что свойства компонента (в данном случае, формы) можно рассматривать как переменные определенных типов. Значения в эти свойства чаще всего заносят в момент создания формы, с помощью Объектного инспектора. Однако многие свойства позволяют заносить в них новые значения программно, то есть, в момент работы готового приложения.

Свойства кнопки TButton

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

Name – это свойство нам вполне знакомо, оно указывает имя этого компонента. Обычно мы изменяли Name только у формы, но в дальнейшем приучайтесь изменять его у всех компонентов. Когда у Вас будут сложные формы со множеством кнопок, очень сложно будет определить в редакторе кода, что делает кнопка Button1 или Button12. Поэтому будет лучше, если Вы приучитесь давать кнопкам осмысленные названия. К примеру, в редакторе текстов мы устанавливали 3 кнопки: Загрузить, Сохранить и Очистить. Следовательно, было бы правильным изменить имена кнопок на bLoad, bSave и bClear. Первая буква b подскажет нам, что это кнопка, а название после этой буквы скажет, что кнопка должна делать. Приучайтесь сразу к хорошему стилю программирования, если не хотите иметь неряшливый код, в котором легко запутаться. Если Вам не нравятся правила, что форму мы начинаем с буквы f, а кнопку с буквы b – придумайте свои правила, но в дальнейшем всегда придерживайтесь их!

Left – с этим свойством мы пока что не работали. Свойство Left показывает положение кнопки от левой границы формы. Если мы будем менять это значение, кнопка на форме будет двигаться по горизонтали.

Top – это положение кнопки от верхней границы формы. Работает также, как Left, но двигает кнопку по вертикали.

Инструкция множественного выбора case

Caseинструкция множественного выбора. В случае, когда нужно выбрать один вариант из нескольких, можно конечно, воспользоваться конструкцией if. Однако case позволяет сделать это намного эффективнее. Синтаксис инструкции такой:

case Селектор of
  значение 1 : begin 
                 Инструкции 1 
               end;
  значение 2 : begin 
                 Инструкции 2 
               end;
  значение n : begin 
                 Инструкции n 
               end
  else begin
    Инструкции иначе
  end;

Здесь "Селектор" – это переменная целого типа или символьного типа, либо выражение, которое возвращает целое число или букву. Блок else не является обязательным. В случае, если инструкция содержит только один оператор, использовать программные скобки begin .. end необязательно. Пример применения case:

case i of
  1 : ShowMessage('i = 1');
  2 : ShowMessage('i = 2');
  3 : ShowMessage('i = 3');
  4 : ShowMessage('i = 4');
  else ShowMessage ('i не равно 1, 2, 3 или 4');
end;
< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Виктор Пелих
Виктор Пелих

Здравствуйте.
Прохожу курс "Введение в программирование на Delphi"
Добрался до Лекции 29: Введение в базы данных.

Установлена RAD Studio 11.3, у которой отсутствует вкладка BDE и, соответственно, компонент Table,  который обеспечивает доступ к таблице средствами механизма BDE.
Поиск в интернете подсказал 
BDE Installer for RAD Studio, Delphi, C++Builder 10.3 Rio
Подскажите, имеется ли ещё возможность использовать механизм BDE в Delphi11 и если такая возможность есть, как подключить BDE к Delphi11?
С уважением...

 

Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Константин Леденев
Константин Леденев
Россия
Олег Равков
Олег Равков
Россия