Корисні властивості форми

Те, що медики виявили в ківі, не піддається поясненню. Новини сьогодні

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

Автор: [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.

Форма не може обробляти натискання клавіші lt; ТаЬgt; в зв`язку з її особливим призначенням.

Властивості MDichildCount і метод Cascade

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

Якщо Вам цікава ця запис, Ви можете слідкувати за її обговоренням, підписавшись на RSS 2.0.

Залишити коментар або два

Ім`я (обов`язково)

Корисні властивості форми

Пошта (обов`язково)

сайт

Крок 3. Налаштування властивостей форми

Visual Studio 2012

Properties window to change the way your form looks." xml: space ="preserve"gt; Далі вікно Властивості використовується для зміни зовнішнього вигляду форми.

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"gt;

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

  2. Щоб виділіть форму, клацніть в будь-якому її месте.Properties window, which should now be showing the properties for the form." xml: space ="preserve"gt; Подивіться на вікно Властивості. Тепер в ньому повинні відображатися властивості форми.У форми є різні свойства.Напрімер, можна встановити колір переднього плану і фону, текст заголовка, який відображається у верхній частині форми, розмір форми та інші властивості.

    Примітка

    Properties window does not appear, stop your program by clicking the square Stop Debugging button (or just close the window)." xml: space ="preserve"gt; Якщо вікно Властивості воно не відкриється, зупиніть програму. Для цього натисніть квадратну кнопку Зупинити налагодження (або просто закрийте вікно).

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

    вікно "властивості"

    Властивості можна впорядкувати за категоріями або в алфавітному порядке.Properties window." xml: space ="preserve"gt; Перемикання між двома цими уявленнями можна робити за допомогою кнопок у вікні Свойства.В цьому керівництві властивості легше знаходити в поданні, в якому властивості представлені в алфавітному порядку.

  4. Поверніться до конструктора Windows Forms.Щелкніте нижній правий маркер перенесення форми, який являє собою невеликий білий квадрат в нижньому правому куті форми і показаний на малюнку нижче.

    маркер перенесення

    Перетягніть його, щоб змінити розмір форми - вона повинна стати ширше і трохи вище.

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

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

    Кнопка панелі інструментів "почати налагодження"

    Як і раніше, інтегроване середовище розробки виконує побудова програми і запускає її, відкривається вікно.

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

Продовжити або повторити пройдений матеріал

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


схоже