Главная » Овощи » Полезные свойства формы

Полезные свойства формы

То, что медики обнаружили в киви, не поддается объяснению. Новости сегодня

Фундамент программы или основные свойства форм

Автор: [root] | добавлено: 03.03.2010, 15:21 | просмотров: 5025 (4+) | комментариев: 0 | рейтинг: x10

Что же такое форма?

Форма – это главный элемент разрабатываемого приложения, на котором располагаются другие элементы. Все проекты создаваемые на Visual Basic содержать формы. Одни состоят из одной, другие из нескольких форм. Так же разрабатываемое приложение может состоять всего из одной формы, но она не будет видна, вообще, или будет располагаться только иконка в трее.

В чем главная положительная черта визуального программирования?

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

Но сейчас мы не об этом, а о том, как настроить форму и какие основные свойства имеет форма.

По сути, форма – это окно, наполненное элементами управления.

Рис 1. Простейший пример формы

Как и все объекты в Visual Basic объект-форма имеет свойства, рассматривать все нет смысла, т.к. некоторые используются довольно редко, а некоторые вы не будете и вовсе использовать.

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

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

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

ActiveControl – ссылка, на элемент управления, имеющий фокус. Во время выполнения только чтение.

Appearance – объемный вид.

AutoRedraw – автоперерисовка объекта, необходимо устанавливать, если будете работать с графикой.

Значения:

BackColor – цвет фона формы.

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

В случае если цвет будет выбран из системной закладки, то цвет будет соответствовать цветовой схеме, выбранной пользователем в Windows.

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

Есть возможность установки цвета шестнадцатеричным числом, помимо этого в VB есть специальные константы, с помощью которых, так же можно установить цвет.

Константы цвета:

В итоге один и тот же результат – форма залита, синим цветом.

BorderStyle – тип границы, обрамляющей форму.

Значения:

0 – None (нет); Нет рамки, кнопок max/min, выход и оконного меню.

1 – Fixed Single (фиксированная); Форму можно свернуть и развернуть, но нельзя изменить форму перетаскиванием за края. Свойства MinButton и MaxButton установите в True, если они не установлены, то соответствующие кнопки на форме будут отсутствовать. Во время выполнения приложения свойства доступны только для чтения.

2 – Sizable (изменяемая); Размер формы можно изменять, используется по умолчанию.

3 – Fixed Dialog (фиксированный диалог); Форму можно только переместить и закрыть, кнопки свернуть/развернуть отсутствуют. Как видно из названия используется в качестве диалогового окна. Используя свойство можно принудить пользователя совершить какое-либо действие, если установить свойство ControlBox в False, т.е. убрать кнопку закрытия с формы.

4 – Fixed ToolWindow (фиксированная панель инструментов); Форма отображается аналогично предыдущему свойству, с тем отличием, что текст в заголовке формы выводиться уменьшенным шрифтом. Отключает оконное меню.

5 – Sizable ToolWindow (изменяемая панель инструментов). Форма отображается аналогично Sizable, отсутствуют кнопки max/min, а текст в заголовке формы выводиться уменьшенным шрифтом.

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

Допустим интересный вопрос – как убрать рамку, во время выполнения приложения? Очень просто:

Давайте попробуем BorderStyle установим в 0 и поместим в событие Click кнопки. Запусти проект, и нажмем на кнопку…

Ничего не происходит.

Не большой эксперимент – очистим заголовок формы и попробуем снова.

Да, у нас вышло! Так же и с другими значениями свойства, чтобы увидеть изменение, нужно принудительно изменять заголовок и размер формы.

Советую, поэкспериментировать и все станет понятно. А вот и пример, как можно это все делать.

Private Sub Command1_Click()

  • alTop - по верхнему краю.

AlphaBlend - включает/выключает прозрачность формы.

AlphaBlendValue - задаёт степень непрозрачности формы: 0 - форма полностью невидима, 255 - полностью видима. Прозрачность активируется только при установке свойства AlphaBlend в True.

Anchors - определяет направления, по которым компоненты "привязываются" к форме. Пример: если установить у формы значения akLeft и akRight этого свойства в True, и точно также сделать у кнопки, то при изменении ширины формы размер кнопки (ширина) также будет изменяться.

AutoScroll - включает автоматическое появление полос прокрутки (Scroll bars) на форме, когда размеров формы недостаточно для отображения всех элементов.

AutoSize - включает автоматическое изменение размеров формы согласно позициям размещённых на ней элементов.

BiDiMode - определяет двунаправленное отображение элемента. В некоторых языках письмо осуществляется не слево-направо, а наоборот. Это свойство создано как раз для этой цели.

BorderIcons - определяет множество кнопок, которые отображаются в заголовке окна:

  • biSystemMenu - единственный элемент, который не является кнопкой - отвечает за системное меню окна, которое вызывается комбинацией клавиш [Alt]+[Пробел].
  • biMinimize - кнопка сворачивания (минимизации) окна;
  • biMaximize - кнопка разворачивания окна;
  • biHelp - кнопка справки.

Если хотя бы одна из кнопок сворачивания и разворачивания включена, то независимо от состояния другой, отображаются обе (но вторая естественно неактивна). Если выключены обе, они не отображаются вообще. Это не зависит от Delphi - так устроена ОС Windows.

BorderStyle - определяет поведение границ окна и общий тип окна:

  • bsDialog - диалоговое окно (из кнопок - только "Закрыть", иконки в заголовке окна нет);
  • bsNone - "чистый лист" (отсутствие у окна границ и заголовка) - применяется обычно для создания заставок во время запуска программы;
  • bsSingle - обычное окно, но с запретом изменения размеров;
  • bsSizeable - обычное окно (по умолчанию) - размеры формы можно изменять;
  • bsSizeToolWin - упрощённое окно с уменьшенным заголовком;
  • bsToolWindow - упрощённое окно с уменьшенным заголовком без возможности изменения размеров.

BorderWidth - ширина границы окна в пикселах. Граница является невидимой и расположена в пользовательской части формы.

Caption - текст заголовка формы.

ClientHeight, ClientWidth - размер клиентской (пользовательской) части формы, т.е. той, на которой располагаются компоненты.

Color - цвет формы.

Constraints - определяет минимальные и максимальные размеры высоты и ширины формы в пикселах. 0 - любое значение, т.е. без ограничений.

Ctl3D - свойство определяет 3D-вид формы. При выключенном - "плоское" изображение.

Cursor - курсор мыши в тот момент, когда он находится над формой.

DefaultMonitor - определяет, на каком мониторе появится форма. Имеет смысл применять это свойство только при наличии более, чем одного монитора (например, если несколько экранов).

DockSite, DragKing и DragMode - определяют поведение формы при осуществлении операций Drag&Drop.

Enabled - отвечает за общую активность формы. Если установлено в False, форма недоступна.

Font - шрифт, используемый на форме.

FormStyle - стиль формы или её поведение в MDI-приложении (многооконное приложение, где дополнительные формы располагаются "внутри" основной формы). Значения:

  • fsNormal - обычная форма (значение по умолчанию);
  • fsMDIChild - дочерняя (подчинённая) форма MDI-приложения;
  • fsMDIForm - главная форма MDI-приложения;
  • fsStayOnTop - форма находится поверх всех окон на экране.

Height - высота формы в пикселах. В отличие от ClientWidth является высотой с учётом заголовка и границ формы.

HelpContext, HelpFile, HelpKeyword, HelpType - свойства для связи формы с файлом справки в формате *.hlp.

TransparentColor = True

HorzScrollBar - свойство определяет внешний вид и поведение горизонтальной полосы прокрутки окна.

Icon - значок (иконка) формы. Отображается в заголовке слева от заголовка. Задаётся файлом в формате *.ico.

KeyPreview - если свойство установлено в True, то при нажатии клавиш сначала будут вызываться обработчики формы, а только затем обработчики того компонента, который в данный момент имеет фокус ввода. События, связанные с нажатием клавиш - OnKeyDown(), OnKeyPress(), OnKeyUp().

Left - позиция формы на экране (левого верхнего угла) в пикселах.

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

Name - имя формы как объекта. Может содержать только латинские буквы, цифры и знак подчёркивания, и не может начинаться с цифры. Фактически, это то имя, по которому в программе можно обратиться к форме.

ObjectMenuItem - используется при работе с OLE-объектами и позволяет связать пункт меню и OLE-объект: когда объект выделен, пункт меню активен и наоборот.

OldCreateOrder - определяет, когда происходят события OnCreate() и OnDestroy() формы. Если установлено в False, то OnCreate() произойдёт после вызова всех конструкторов, а OnDestroy() - после вызова всех деструкторов. Начальное значение - False, изменять не рекомендуется.

ParentBiDiMode - изменение свойства BiDiMode согласно значению объекта-предка формы.

ParentFont - изменение шрифта (Font) согласно значению объекта-предка.

PixelsPerInch - пропорции шрифта в системе (точек на дюйм).

PopupMenu - позволяет указать контекстное меню (объект TPopupMenu) для формы. Это меню вызывается нажатием правой кнопки мыши.

Position - определяет начальную позицию формы на экране, т.е. в момент её появления. Основные значения:

  • poDesigned - появление в том месте, в каком форма расположена в design-time;
  • poDesktopCenter - по центру рабочего стола (рекомендуемое значение);
  • poScreenCenter - по центру экрана;
  • poMainFormCenter - по центру главной формы приложения (для главной формы не имеет смысла).

PrintScale - определяет размеры формы при выводе её изображения на печать.

Scaled - включает масштабирование формы в соответствии с заданным значением свойства PixelsPerInch.

ScreenSnap - если установлено в True, то форма будет автоматически "прилипать" к краям экрана в момент перемещения.

SnapBuffer - определяет расстояние (в пикселах), на котором форма будет "прилипать" к краю экрана.

ShowHint - включает/выключает показ всплывающей подсказки (Hint).

Tag - специальное свойство, которое есть у всех объектов. Специального применения для этого свойства нет, поэтому оно используется для разных целей в конкретной ситуации. Свойство удобно в том случае, если нужно хранить некоторое целое число - не придётся заводить дополнительную переменную.

Top - позиция формы (левого верхнего угла) на экране в пикселах.

TransparentColor - включает/выключает прозрачность определённого цвета формы.

TransparentColorValue - задаёт цвет, который будет прозрачным.

UseDockManager - используется при реализации Drag&Drop технологии, предоставляя дополнительные возможности этого метода взаимодействия.

VertScrollBar - определяет внешний вид и поведение вертикальной полосы прокрутки окна.

Visible - определяет видимость формы на экране.

Width - ширина окна в пикселах, включая границы.

WindowMenu - свойство-аналог свойства Menu, но используемое при создании MDI-форм.

WindowState - одно из состояний окна:

  • wsNormal - обычное состояние (занимает часть экрана);
  • wsMinimized - окно свёрнуто;
  • wsMaximized - окно развёрнуто на весь экран.

В итоге мы получаем огромное количество свойств, способных изменить как внешний вид формы, так и её поведение, а также поведение компонент, расположенных на ней. Но данная статья незаметно познакомила Вас не только со свойствами формы, но и со свойствами большинства компонент. Дело в том, что компоненты имеют общих "предков", т.е. тех объектов, от которых они образованы, поэтому свойства компонент очень похожи и большая их часть просто-напросто совпадает. Если посмотреть на свойства кнопки (TButton), то сразу можно заметить, что большинство свойств - те же самые, что и у формы. Это позволяет быстро научиться работать с любым незнакомым объектом.

Примечания

Стоит сделать несколько примечаний насчёт свойств.

  • Свойства прозрачности формы (AlphaBlend, AlphaBlendValue, TransparentColor и TransparentColorValue) корректно работают только на ОС Windows XP и следующих версиях. В предыдущих версиях ОС изменение значения этих свойств не производит визуального изменения формы.
  • Свойства, названия которых начинаются со слова Parent (англ. - родитель), в большинстве случаев связывают значения некоторых свойств со значениями соответствующих свойств объекта-родителя. Так, кнопка (TButton) имеет свойство ParentFont и свойство Font, отвечающее за шрифта текста на этой кнопке. Но и сама форма имеет свойство Font. В результате, если у кнопки установить ParentFont в True, а затем изменить шрифт у формы, то шрифт у кнопки изменится соответствующим образом. Это позволяет быстро изменять одни и те же свойства у большого числа компонент. Другие подобные свойства - ParentShowHint, ParentColor, ParentBiDiMode.
  • Свойство Cursor, отвечающее за курсор, есть у большинства компонент. Но при перемещении курсора его вид изменяется на тот, который задан у самого "дальнего" объекта. Т.е. если и формы и у кнопки заданы разные формы курсора, то при перемещении над кнопкой будет использоваться курсор, заданный у самой кнопки. Число "вложений" одних компонент в другие может быть довольно большим.

Заключение

В этой статье рассмотрены свойства формы и основные свойства компонент. Изменяя свойства, можно настроить объекты так, как это требуется для реализуемой программы. Объектно-ориентированное программирование в основном и сводится к управлению свойствами объектов.

  1. Form2.WindowState:= wsNormal;
  2. end;

Кнопки btnMiniForm и btnNormalForm в форме Form1 сворачивают и восстанавливают обычное состояние формы Form2 соответственно.

Форма, для которой изменяется состояние отображения на экране, предварительно должна быть создана методами CreateForm или Create. Если форма не создана, то при обращении к ней будет сгенерировано исключение, несмотря на то, что переменная формы объявлена в модуле. Если форма создана, но не отображается на экране, то изменения ее состояния (свойства windowstate) происходят, однако пользователь не видит этого до тех пор, пока форма не будет отображена на экране.

Свойство ActiveControl

Будучи контейнером, форма содержит другие элементы управления. Оконные элементы управления (потомки класса TWinControl) могут получать фокус ввода. Свойство ActiveControl типа TWinControl определяет, какой элемент формы находится в фокусе. Для выбора элемента, находящегося в фокусе ввода (активного элемента), можно устанавливать это свойство в нужное значение при выполнении программы:

  1. Form1.ActiveControl:= Edit2;

­ту же операцию выполняет метод SetFocus, который устанавливает фокус ввода для оконного элемента управления:

Свойство AutoScroll

В случае, когда размеры окна недостаточны для отображения всех содержащихся в форме интерфейсных компонентов, у формы могут появляться полосы прокрутки. Свойство AutoScroll типа Boolean определяет, появляются ли они автоматически, Если свойство AutoScroll имеет значение True (по умолчанию), то полосы прокрутки появляются и исчезают автоматически, без каких-либо действий программиста. Необходимость в полосах прокрутки может возникнуть, например, в случае, если пользователь уменьшит размеры формы так, что не все элементы управления будут полностью видны. Если же свойство AutoScroll установлено в значение False, то программист реализует управление просмотром информации вручную через свойства HorzScrollBar (горизонтальная прокрутка) и VertScrollBar (вертикальная прокрутка) типа TControlScrollBar формы.

Метод ScrollInView

Для программного управления полосами прокрутки можно использовать метод ScrollInView. Процедура ScrollInView (AControl: TControl) автоматически изменяет позиции полос прокрутки так, чтобы заданный параметром AControl элемент управления стал виден в отображаемой области.

Свойство KeyPreview

Свойство KeyPreview типа Boolean определяет, будет ли форма обрабатывать события клавиатуры, прежде чем их обработают элементы управления формы. Если свойство имеет значение False (по умолчанию), то клавиатурные события поступают к активному элементу управления (имеющему фокус ввода). При установке свойства KeyPreview в значение True форма первой получает сообщения о нажатии клавиш и может на них реагировать, что обычно используется для обработки комбинаций клавиш, независимо от активности элементов управления формы.

  1. //Не забудьте установить свойство KeyPreview в значение True
  2. procedure TForm1.FormKeyPress(Sender:TObject;var Key:Char);
  3. begin
  4. MessageDlg('Нажата клавиша'+ Key, mtInformation,[mbOK], 0);
  5. end;

В вышеуказанной процедуре форма Form1 обрабатывает нажатие алфавитно-цифровых клавиш, отображая введенный символ в диалоговом окне Information.

Форма не может обрабатывать нажатие клавиши <ТаЬ> в связи с ее особым назначением.

Cвойство MDichildCount и метод Cascade

У формы имеется ряд свойств и методов, например свойство MDichildCount и метод Cascade, предназначенных для организации многодокументных приложений.

Если Вам интересна эта запись, Вы можете следить за ее обсуждением, подписавшись на RSS 2.0 .

Оставить комментарий или два

Имя (обязательно)

Полезные свойства формы

Почта (обязательно)

Сайт

Шаг 3. Настройка свойств формы

Visual Studio 2012

Properties window to change the way your form looks." xml:space="preserve"> Далее окно Свойства используется для изменения внешнего вида формы.

Tutorial 1: Create a Picture Viewer in Visual Basic - Video 1 or Tutorial 1: Create a Picture Viewer in C# - Video 1." xml:space="preserve">

  1. Убедитесь, что вы смотрите на конструктор Windows Forms.Form1.cs [Design] tab (or the Form1.vb [Design] tab in Visual Basic)." xml:space="preserve">В интегрированной среде разработки перейдите на вкладку Form1.cs [Design] (или на вкладку Form1.vb [Design] в Visual Basic).

  2. Чтобы выделите форму, щелкните в любом ее месте.Properties window, which should now be showing the properties for the form." xml:space="preserve">Посмотрите на окно Свойства. Теперь в нем должны отображаться свойства формы.У формы есть различные свойства.Например, можно установить цвет переднего плана и фона, текст заголовка, который отображается в верхней части формы, размер формы и другие свойства.

    Примечание

    Properties window doesn't appear, stop your program by clicking the square Stop Debugging button (or just close the window)." xml:space="preserve"> Если окно Свойства не открылось, остановите программу. Для этого нажмите квадратную кнопку Остановить отладку (или просто закройте окно).

  3. Properties window, and find the Text property." xml:space="preserve"> После того как форма выделена, прокрутите до конца содержимое окна Свойства и найдите свойство Text.Text, type Picture Viewer, and then press ENTER." xml:space="preserve">Выделите Text, введите "Программа просмотра изображений", затем нажмите клавишу ВВОД.Picture Viewer in its title bar, and the Properties window should look like the following picture." xml:space="preserve">Теперь форма в заголовке окна должна содержать текстПрограмма просмотра изображений. Окно Свойства должно выглядеть так, как показано на рисунке ниже.

    Окно "Свойства"

    Свойства можно упорядочить по категориям или в алфавитном порядке.Properties window." xml:space="preserve">Переключение между двумя этими представлениями можно делать с помощью кнопок в окне Свойства.В этом руководстве свойства легче находить в представлении, в котором свойства представлены в алфавитном порядке.

  4. Вернитесь к конструктору Windows Forms.Щелкните нижний правый маркер переноса формы, который представляет собой небольшой белый квадрат в нижнем правом углу формы и показан на рисунке ниже.

    Маркер переноса

    Перетащите его, чтобы изменить размер формы — она должна стать шире и немного выше.

  5. Properties window, and notice that the Size property has changed." xml:space="preserve"> Посмотрите в окно Свойства и обратите внимание, что изменилось значение свойства Size.Size property changes each time you resize the form." xml:space="preserve">Свойство Size меняется каждый раз при изменении формы.Перетащите маркер переноса, чтобы форма имела размер около 550, 350. Такой размер вполне подходит для данного проекта.

  6. Снова выполните программу.Start Debugging toolbar button, which appears as follows." xml:space="preserve">Нажмите клавишу F5 или нажмите кнопку панели инструментов Начать отладку, которая показана на рисунке ниже.

    Кнопка панели инструментов "Начать отладку"

    Как и ранее, интегрированная среда разработки выполняет построение программы и запускает ее, открывается окно.

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

Продолжить или повторить пройденный материал

  • Step 4: Lay Out Your Form with a TableLayoutPanel Control." xml:space="preserve">

Смотрите также