Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Питання для самоконтролю.

  1. ООП. Основні властивості ООП.

  2. Клас, інтерфейс класу.

  3. Об’єкт і його частини.

  4. Повідомлення.

  5. Наслідування.

  6. Інкапсуляція.

  7. Поліморфізм.

  8. Методи.

  9. Властивості.

  10. Файл. Особливості файлів.

  11. Види файлів.

  12. Оголошення класу.

  13. Секція public.

  14. Секція protected.

  15. Секція private.

  16. Секція automated.

  17. Секція published.

Література: 6.с.170..184; 7.с.25..31

Форми. Різновид форм. Створення і використання форм. Основні розділи теми.

  1. Форма.

  2. . Різновиди форм

  3. . Робота з формою

  4. Спеціалізовані форми в сховищі об'єктів.

  5. Властивості форми.

  6. Методи форми.

  7. Події форми.

Форма є основним будівельним блоком в DELPHI. Будь-яка програма має як мінімум одну пов'язану з нею форму, яка називається головною. Ця форма з'являється у момент старту програми. Програма може мати скільки завгодно форм і з'являтися на екрані у міру потреби.

Різновиди форм.

Різновиди форм визначаються значеннями їх властивості FormStyle, а також різноманітністю форм-заготівель в сховищі об'єктів Delphi.

Стиль форми задається одним зі значень наступної властивості :

TFormStyle = (fsNormal, fsMDIChild, fsMDIForm,

fsStayOnTop);

property FormStyle: TFormStyle;

Стиль fsNormal визначає звичайну форму, що використовується для вирішення самих різних завдань, у тому числі для загального управління усією програмою(головна форма).

Стилі fsMDIChild і fsMDIForm використовуються при створенні так званих багатодокументних застосувань в стилі MDI(Multi Document Interface).

Для створення рамкового вікна використовується стиль fsMDIForm, а для створення дочірнього MDI- вікна - стиль fsMDIChild.

Стиль fsStayOnTop призначений для вікон, які завжди повинні розташовуватися над усіма іншими вікнами програми. У момент активізації вікна воно зазвичай стає видимим на екрані, навіть якщо перед цим його загороджували інші розкриті вікна.

Стиль fsStayOnTop перешкоджає перекриттю вікна іншими вікнами, навіть якщо воно стає неактивним і втрачає фокус введення. Зрозуміло, що цей стиль використовується у виняткових випадках, коли вікно містить щось, що вимагає підвищеної уваги користувача.

Щоб створити спливаюче вікно, треба звернутися до API- функції SetWindowPos. Наприклад:

SetWindowPos(fmAlarmForm.Handle, hwnd_TopMost, 300, 300, 250, 70, swp_noActivate)

Першим параметром звернення до функції є дескриптор вікна, яке повинне стати спливаючим. Дескриптор форми міститься в її властивості Handle, тому для форми fmAlarmForm параметр виклику має вигляд fmAlarmForm. Handle. Другий параметр визначає розташування вікна відносно інших вікон в так званому Z- порядку їх розташування. Константа hwnd _ TopMost вказує, що вікно повинне стати самим верхнім і аж до його закриття не може перекриватися іншими(звичайними) вікнами.

Чотири наступні параметри визначають координати лівого верхнього кута вікна, його ширину і висоту. Усі параметри вказуються в пікселах, координати кута задаються відносно лівого верхнього кута екрану. Останнім вказується один або декілька бітових прапорів, що уточнюють поведінку вікна. У нашому прикладі використаний прапор swp _ noActivate, що означає, що вікно не отримує фокусу введення у момент своєї появи на екрані. На практиці часто використовують спливаючі вікна, щоб повідомити користувача, наприклад, про необхідність оновити набір даних, які він бачить зараз, оскільки ці дані були змінені іншими користувачами клієнт-серверної бази даних. Таке вікно, на відміну від модального вікна, не повинне віднімати активність(фокус введення) біля вікна, з яким працює користувач.

Спливаючим вікном може стати і звичайне вікно(зі значенням стилю FormStyle=fsNormal). Проте спливаюче вікно дійсно з'явиться на екрані, тільки якщо в його властивості Visible міститься значення True. Іншими словами, якщо користувач закриє таке вікно, воно не з'явиться в результаті виклику функції SetWindowPos - його заздалегідь треба зробити видимим методом Show. Оскільки спливаюче вікно може викликатися в різних місцях програми, зручно помістити виклик функції SetWindowsPos його обробник події OnActivate. Проте якщо ви спробуєте створити такий обробник для вікна із стилем FormStyle=fsStayOnTop, то компілятор видасть повідомлення про помилку і помістить заготівлю методу в тексті модуля після обмежувача-точки(.). В цьому випадку визначайте вікно із стилем fsNormal.

У сховищі об'єктів Delphi зберігається безліч стандартних форм-заготівок, призначених для вирішення конкретних завдань(доступ до сховища об'єктів відкриває команда File ► New ► Other). Окрім універсальної порожньої форми Form(вкладка New сховища об'єктів) сховище містить спеціалізовані форми.

Таблица 1. Спеціалізовані форми в сховищі об'єктів.

Название

Вкладка

Описание

About box

Forms

Вікно про програму

Dual list box

Forms

Діалогове вікно з двома компонентами ListBox. Використовується для гнучкого управління списками, у тому числі для переміщення елементів з одного списку в інший.

Quick Report Labels

Forms

Використовується в застосуваннях баз даних для друку наклейок

Quick Report List

Forms

Використовується в застосуваннях баз даних для створення звичайних звітів

Quick Report Master/Detail

Forms

Використовується в застосуваннях баз даних для створення звітів типу головно-детальний

Tabbed Pages

Forms

Заготівка для багатосторінкового діалогового вікна з вкладками і кнопками OK, Cancel і Help

Dialog with Help

Dialogs

Заготівка для діалогового вікна з кнопками OK, Cancel, Help. Є варіанти з вертикальним і горизонтальним розташуванням кнопок

Password Dialog

Dialogs

Діалогове вікно з однорядковим полем TEdit для введення паролів, а також кнопками ОК і Cancel

Reconcile Error Dialog

Dialogs

Використовується в застосуваннях баз даних для пояснення виявленої помилки при зміні таблиці

Standard Dialog

Dialogs

Заготівка для діалогового вікна з кнопками OK, Cancel. Є варіанти з вертикальним і горизонтальним розташуванням кнопок

Dialog Wizard

Dialogs

Майстер створення діалогових вікон

Database Form Wizard

Business

Майстер створення форм для доступа до баз даних

Quick Report Wizard

Business

Майстер створення звітів для баз даних

TeeChart Wizard

Business

Майстер форм для доступа до компоненту Chart

Компонент TForm

Розглянемо властивості, методи и події форми, тобто компонента TForm.

Властивості форми.

Властивості

Опис

property Active: Boolean;

Містить значення True, якщо вікно активне(має фокус введення)

property ActiveControl: TWinControl;

Визначає дочірній елемент, що містить фокус введення

property ActiveMDIChild: TForm

Визначає дочірнє MDI-вікно з фокусом ввення

property AlphaBlend: Boolean;

Якщо містить значення True, форма визначає напівпрозоре вікно(тільки для Windows 2000 і вище)

property AlphaBlendValue: Byte;

Указує ступінь прозорості вікна

TBorderlcon = (biSystemMenu, biMinimize, biMaximize, biHelp); TBorderlcons = set of TBorderlcon; property Borderlcons: TBorderlcons;

Визначає наявність кнопок в заголовку вікна : biSystemMenu - кнопка виклику системного меню; biMinimize - кнопка згортання; biMaximize - кнопка розгортання; biHelp - кнопка виклику довідкової служби

TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin) ;

property BorderStyle: TFormBorder Style;

Визначає стиль рамки вікна : bsNone - вікно не має рамки і заголовка і не може переміщатися і змінювати свої розміри; bsSingle - рамка завтовшки в 1 піксел, таке вікно не може змінювати свої розміри; bsSizeable - звичайна рамка; bsDialog - рамка діалогового. вікна, вікно не може змінювати свої розміри; bsToolWindow - подібно bsSingle, але зі зменшеним по висоті заголовком; bsSizeToolWin - подібно bsSizeable, але зі зменшеним по висоті заголовком

property Canvas: TCanvas;

Канва для промальовування фону вікна. Цю властивість можуть використати невіконні дочірні елементи

property ClientHeight: Integer;

Висота клієнтської частини вікна

property ClientRect: TRect;

Прямокутник клієнтської частини вікна

property ClientWidth: Integer;

Ширина клієнтської частини вікна

type TDefaultMonitor =(dmDesktop, dmPrimary, dmMainForm, dmActiveForm);

property DefaultMonitor: TDefaultMonitor;

Визначає монітор, на якому з'являється форма : dmDesktop - для форми не вказаний монітор; dmPrimary - форма з'являється на першому моніторі списку Monitors глобального об'єкту Screen; dmMainForm - форма з'являється на тому ж моніторі, що і головне вікно програми; dmActiveForm - форма з'являється на тому ж моніторі, що і поточне активне вікно

property DropTarget: Boolean;

Якщо містить значення True, форма підтримує перетягання(Drag&Drop)

property Floating: Boolean;

Якщо містить значення False, вікно причалило до іншого вікна, інакше воно "плаває"

type TFormState = set of (fsCreating, fsVisible, fsShowing, fsModal, fsCreatedMDIChild, fsActivated);

property FormState: TFormState; ;

Визначає поточний стан форми : fsCreating - вікно створюється; fsVisible - вікно видно на екрані(цей стан використовується для оновлення властивості Visible); fsShowing -свойство FormState змінюється; fsModal - створено модальне вікно; fsCreatedMDIChild - форма є рамкове MDI - okho(встановлюється у момент створення дочірнього вікна); fsActivated - форма отримала повідомлення CM _ ACTIVATE, але ще не виникла подія OnActivate

type TFormStyle = (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop) ;

property FormStyle: TFormStyle;

Визначає стиль вікна : fsNormal - звичайне вікно; fsMDIChild дочірнє MDI- вікно; fsMDIForm - рамкове MDI- вікно; fsStayOnTop - спливаюче вікно

property HelpFile: String;

Кожна форма може мати індивідуальний файл допомоги, ім'я якого містить цю властивість. Якщо ім'я не вказане, використовується файл допомоги застосування

property Icon: TIcon;

Містить значок вікна. Для головної форми ця властивість визначає також значок програми

property KeyPreview: Boolean;

Якщо має значення True, форма отримує події від клавіатури, перш ніж вони поступлять в елемент з фокусом введення

property MDIChildCount: Integer;

У рамковому MDI- вікні визначає кількість пов'язаних з ним дочірніх MDI - вікон

property MDIChildren[N: Integer]: TForm;

У рамковому MDI-вікні відкриває доступ до дочірнього вікна під номером N

property Menu: TMainMenu;

Містить головне меню вікна

TModalResult = Low (Integer) .. High (Integer) ;

property ModalResult: TModalResult;

Для модального вікна містить результат діалога з користувачем

property Monitor: TMonitor;

Містить вказівку на монітор, на якому відображається вікно

property PixelsPerlnch: Integer;

Визначає роздільну здатність вікна в пікселах на один лінійний дюйм для етапу конструювання форми

TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter) ;

property Position: TPosition;

Визначає положення і розміри вікна у момент його появи на екрані: poDesigned - такі ж, як на етапі конструювання вікна; poDefault - положення і розміри визначає Windows; poDefaultPosOnly - положення, як на етапі конструювання, розміри визначає Windows; poDefaultSizeOnly - розміри, як на етапі конструювання, положення визначає Windows; poScreenCenter - в центрі екрану з розмірами, як на етапі конструювання

TPrintScale = (poNone, poProportional, poPrintToFit);

property PrintScale: TPrintScale;

Визначає масштабування вікна при його друці на принтері: poNone - немає масштабування; кожен піксел вікна відтворюється однією точкою на папері; poProportional - форма масштабується так, щоб її образ на папері був максимально схожий на її зображення на екрані; poPrintToFit - форма друкується з такими ж пропорціями, як на екрані, але з розмірами, що заповнюють аркуш паперу

property Scaled: Boolean;

Дозволяє/забороняє масштабувати форму, якщо значення її властивості PixelPerlnch відрізняється від поточного дозволу екрану

TileMode = (tbHorizontal, tbVertical);

property TileMode: TTileMode;

Визначає стиль розташування дочірніх вікон MDI- застосування при їх впорядкуванні мозаїкою

property TransparentColor: Boolean;

Якщо містить значення True, властивість TransparentColorValue визначає колір прозорості форми, крізь який будуть видні вікна(тільки для Windows 2000 і вище), що пролягають нижче

property TransparentColorValue: TColor;

Містить колір прозорості форми(ігнорується, якщо TransparentColor=False)

property WindowMenu: TMenuItem;

Визначає пункт головного меню рамкового MDI- вікна, до якого додаються пункти меню дочірнього вікна

TWindowState = (wsNormal, wsMinimized, wsMaximized);

property WindowState: TWindowState;

Визначає стан вікна у момент його появи на екрані: wsNormal - звичайне вікно; wsMinimized - згорнуто до кнопки; wsMaximized - розгорнуто на увесь екран

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]