Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Форма – головний компонент додаткуСодержание книги
Поиск на нашем сайте
Різновиди форм визначаються значеннями їх властивостей FormStyle, а також різноманітністю форм-заготовок, що зберігаються в репозиторії Delphi. Стиль форми задається одним із значень властивості TFormStyle = (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop); property FormStyle: TFormStyle; Стиль fsNormal визначає звичайну форму, що використовується для вирішення самих різних завдань, зокрема - для загального управління всією програмою (головна форма). Стилі fsMDIChild і fsMDIForm використовуються при створенні так званих багатодокументних застосувань в стилі MDI (MDI -Multi Document Interface). Цей немодний сьогодні стиль припускає створення головного вікна MDI (його зазвичай називають рамковим), усередині якого у міру потреби з'являються дочірні вікна.' Дочірні вікна, подібно дочерним елементам контейнера, не можуть виходити за межі свого власника - рамкового вікна. У MDI-додатках є спеціальні засоби управління взаємодією рамкового вікна з дочірніми вікнами. Наприклад, кожне дочірнє вікно у момент активізації може потрібним чином набудувати головне меню рамкового вікна (дочірні MDI-вікна не мають власного головного меню). У Delphi для створення рамкового вікна використовується стиль fsMDIForm, а для створення дочірнього MDI-вікна - стиль fsMDIChild. Стиль fsStayOnTop призначений для вікон, які завжди повинні розташовуватися над всіма іншими вікнами програми[ У термінології Windows такі вікна називаються Popup Window, що буквально переводиться як вікно-поплавець. ]. У момент активізації вікна воно зазвичай стає видимим на екрані, навіть якщо перед цим його загороджували інші розкриті вікна. Стиль fsStayOnTop перешкоджає перекриттю вікна іншими вікнами, навіть якщо воно стає неактивним і втрачає фокус введення (так сказано в документації, проте насправді це не так, див. нижчий). Зрозуміло, що цей стиль використовується у виняткових випадках, коли вікно містить щось, що вимагає підвищеної уваги користувача. Як показує практика, оголошення вікна із стильовою ознакою fsStayOnTop ще не вирішує проблему створення вікна-поплавця, тобто вікна, яке неможливо перекрити іншими вікнами. Більш того, нескладні експерименти переконають вас, що ця ознака взагалі не грає ніякої ролі! Щоб створити вікно-поплавець, потрібно звернутися до API-функції SetWindowPos. Наприклад: SetWindowPos(fmAlarmForm.Handle, hwnd_TopMost, 300, 300, 250, 70, swp_noActvate) Повний опис цієї функції (як і всіх інших API-функцій Windows) ви знайдете в Help-файлах WIN32.HLP або WIN32SDK.HLP, які поставляються разом з Delphi і за умовчанням розташовуються В теці Program Files | Common Files | Borland shared | MSHelp. Тут я лише стисло поясню призначення параметрів виклику. Першим параметром звернення до функції є дескриптор вікна, яке повинне стати “поплавцем”. Нагадаю, що дескриптор форми міститься в її властивості Handle, тому для форми fmAlarmForm параметр виклику має вид fmAlarmForm. Handle. другим параметром визначається розташування вікна щодо інших вікон в так званому Z-порядку їх розташування. Константа nwnd_TopMost указує, що вікно повинне стати самим верхнім і аж до його закриття не може перекриватися іншими (звичайними) вікнами. Чотири наступні параметри визначають координати лівого верхнього кута вікна, його ширину і висоту. Всі параметри указуються в пікселях, координати кута задаються відносно, лівого верхнього кута екрану. Останнім указується один або декілька бітових прапорів, що уточнюють поведінку вікна. У нашому прикладі використаний прапор swp_noActvate, що означає, що вікно не отримує фокусу введення у момент своєї появи на екрані. Поясню, що на практиці я часто використовую вікна-поплавці, щоб повідомити користувача, наприклад, про необхідність відновити набір даних, які він бачить зараз, оскільки ці дані були змінені іншими користувачами клієнт-серверної БД. Таке вікно не повинне віднімати активність (фокус введення) біля вікна, з яким працює користувач. І останнє зауваження. “Поплавцем” може стати і звичайне вікно (із значенням FormStyle=fsNormai). Проте “поплавець” дійсно з'явиться на екрані, тільки якщо в його властивості visible міститься значення True. Іншими словами, якщо користувач закриє таке вікно, воно не з'явиться в результаті виклику функції setwindowpos - його заздалегідь потрібно зробити видимим методом show. Оскільки вікно-поплавець може викликатися в різних місцях програми, зручно помістити виклик функції setwindowspos його обробник події onActivate. Проте якщо ви спробуєте створити такий обробник для вікна із стилем FormStyle=fsStayonTop, то компілятор видасть повідомлення про помилку і помістить заготівку методу в тексті модуля після обмежувача “.”. В цьому випадку визначайте вікно із стилем fsNormal. Сучасні багатовіконні застосування найчастіше будуються в стилі SDI (SDI - Single Document Interface), який в протилежність MDI не накладає обмежень на положення і розміри допоміжних форм, кожна з яких при необхідності може мати своє головне меню (у стилі SDI реалізована, наприклад, середовище Delphi). Для створення форм в цьому випадку використовується стиль fsNormal. Відмічу, що в рамках SDI-додатків можуть використовуватися рамкові MDI-форми з своїми дочірніми вікнами, так що термін SDI носить вельми умовний характер і застосовується в основному для зіставлення давно використовуваному терміну MDI. У репозиторії Delphi зберігається безліч стандартних форм-заготовок, призначених для вирішення конкретних завдань (доступ до репозиторія відкриває опція меню File | New | other). Крім універсальної порожньої форми Form (сторінка New peno-зитория) репозиторії містить наступні спеціалізовані форми: Назва Сторінка Призначення About box Forms Вікно 0 програмі 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, кнопками ok і Cancel для введення паролів Reconcile Error Dialog Dialogs Використовується в додатках баз даних для пояснення виявленої помилки при зміні таблиці Standard Dialog Dialogs Заготівка для діалогового вікна з кнопками ok, cancel. Є варіанти з вертикальним розташування кнопок і з горизонтальним розташуванням Dialog Wizard Dialogs Майстер створення діалогових вікон Decision Cube Sample Business Заготівка для використання компонентів сторінки Decision Cube Database Form Wizard Business Майстер створення форм для доступу до баз даних Quick Report Wizard Business Майстер створення звітів для баз даних TeeChart Wizard Business Майстер форм для доступу до компоненту chart
КОМПОНЕНТ TFORM Властивості форми:
Примітка Якщо в безлічі властивості BоrderIcon прибрати кнопки biMinimize: biMaximize, а у властивість WindowState помістити значення wsMaximized, форма займе весь простір екрану, включаючи нижню панель завдань. Методи форми:
Події форми:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-13; просмотров: 247; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.119.119 (0.012 с.) |