Лекция-8
.doc
Лекція №8
(2 год.)
ТЕМА: Глобальні об’єкти і настройка програм.
-
Об’єкт Application
-
Об’єкт Screen.
-
Об’єкт Clipboard.
I.Об’єкт Application.
Об’єкт Application відноситься до класу Tapplication і інкапсулює важливі властивості і методи програми. Він створюється автоматично і доступний будь-якій програмі. Об’єкт не поміщений в палітру компонентів, тому його властивості недоступні на етапі конструювання, але стають доступні при прогоні програми.
Даний об’єкт є посередником між програмою і операційною системою.
Властивості об’єкта.
Property Active: Boolean; Містить True, якщо будь-яке вікно програми має фокус вводу.
Property CurrentHelpFil: String; Визначає ім’я поточного довідкового файлу.
Property ExeName:String; Містить повне ім’я (з маршрутом доступу) виконуваного файла програми.
Property HelpFile: String; Визначає ім’я файла довідкової служби.
Property Hint: String; Містить довгу частину оперативної підказки.
Property HintColor: TColor; Визначає колір фону ярлика оперативної підказки.
Property HintHidePause: Integer; Визначає паузу в мілісікундах від початку появи ярлика до його знищення.
Property HintPause: Integer; Визначає паузу в мілісікундах від момента остановки покажчика миші до появи ярлика.
Property HintShortPause: Integer; Визначає паузу появи ярлика при переході з одного компонента на інший.
Property Icon: Ticon; Визначає піктограму програми.
Property MainForm: Tform; Визначає головне вікно програми.
Property ShowHint: Boolean; Дозволяє або забороняє показ ярликів для всіх вікон програми.
Property ShowMainForm: Boolean; Дозволяє або забороняє показ головного вікна програми в момент старту програми.
Property Terminated: Boolean; Містить True, якщо програма повинна зупинити роботу. Використовується в додатках з інтенсивним рахунком для контролю необхідності зупинення подальшої роботи.
Property Title: String; Визначає текст під піктограмою мінімізованої програми.
Property UpdateFormatSettings: Boolean; Якщо містить True, підпрограма автоматично буде враховувати нові форматні установки Windows (наприклад, новий роздільник цілої і дробової частини числа) при їх зміні в момент роботи програми.
Property UpdateMetricSettings: Bolean; Якщо містить True, програма автоматично буде враховувати нові метричні установки Windows (наприклад, новий системний шрифт) при його зміні в момент роботи програми.
Методи об’єкта.
Процедура BringToFront; Розташовує вікно, яке було активним в останній раз, поверх інших вікон.
Процедура CancelHint; Забороняє показ ярликів оперативної підказки.
Процедура HandleException (Sender: TObject); Здійснює замовчуваний обробіток виняткових ситуацій. Використовується при розробці нових компонентів.
Процедура HandleMessage; Призупиняє роботу програми поки не будуть оброблені всі повідомлення, після чого створюється повідомлення OnIdle.
Функція HelpCommand (Command: Word; Data: Longint): Boolean; Посилає довідковій службі команду Command і параметр Data.
Функція HelpContext (Context:ThelpContext): Boolean; Викликає розділ Context довідкової служби і повертає True, якщо такий розділ існує.
Функція HelpJump (const JumpID: String): Boolean; Викликає розділ довідкової служби по його імені JumpID і вертає True, якщо такий розділ існує.
Процедура HideHint; Забирає поточний ярлик оперативної підказки.
TWindowHook=function (var Mesage: Tmessage): Boolean of object; Регіструє функцію для перехвату повідомлень Windows.
Процедура HookMainWindow (Hook: TWindowHook);
Функція MessageBox (Text, Caption: PChar; Flags: Longint): Integer; Створює і показує діалогове вікно з текстом і кнопками: Text – повідомлення в вікні; Caption – заголовок вікна. Призначення Flags і повертаєме значення.
Процедура Mininize; Мінімізує програму до піктограми.
Процедура NormalizeTopMosts; Призупиняє дію стиля fsTopMost для всіх вікон програми.
Процедура NormalizeAllTopMosts; Поширює дію NormalizeTopMosts на головне вікно програми.
Процедура ProcessMessages; То саме, що і HandleMessage, але не створює подію OnIdle.
Процедура Restore; Відновлює первоначальні розміри всіх вікон програми що були до мінімізації.
Процедура RestoreTopMosts; Відновлює дію стиля fsTopMost для всіх вікон програми.
Процедура Run; Запускає цикл отримання і опрацювання Windows повідомлень.
Процедура ShowException (E:Exception); Реалізує замовчувану обробку виняткових ситуацій.
Процедура Terminate; Закінчує роботу програми.
Процедура UnhookMainWindows (Hook: TwindowsHook); Видаляє перехвадчик повідомлень, раніш встановлених методом HookMainWindow.
Події об’єкту.
Property OnActivate: TnotifyEvent; Виникає, коли програма отримує фокус введення.
Property OnDeactivate: TnotifyEvent; Виникає, коли програма залишає фокус вводу.
TexceptionEvent = procedure (Sender: TObject; E:Exception) of object; Оброблювач цьої події реалізує замовчуване опрацювання виняткових ситуацій.
Property OnException: TexceptionEvent;
ThelpEvent = function (Command: Word; Data: Longint; var CallHelp:Boolean): Boolean of object; Виникає при кожному звиртанні до довідкової служби.
Property OnHelp:ThelpEvent;
Property OnHint:TnotifyEvent; Виникає при необхідності відобразити частину оперативної підказки.
TidleEvent = procedure (Sender: TObject; var Done: Boolean) of object; Оброблювач цьої події реалізує фонову роботу.
Property OnIdle: TidleEvent;
TmessageEvent = procedure (var Msg: TMsg; var Handled: Boolean) of object; Виникає при отриманні програмою повідомлення Windows. За допомогою цього оброблювача подій модливо обробити декілька або всі повідомлення до того, як їх отримає активна форма.
Property OnMessage: TmessageEvent;
Property OnMinimize: TnotifyEvent; Виникає при мінімізації програми.
Property OnResetore; TnotifyEvent; Виникає при повернені програмою початкових розмірів після її мінімізації.
Property OnShowHint: TshowHintEvent; Виникає при необхідності відобразити вікно з ярликом оперативної підказки.
ІІ.Об’єкт Screen.
Об’єкт Screen класу TScreen інкапсулює властивості і методи, що спрощують роботу з дисплеем ПК, також за допомогою нього змінюється вигляд використовуваного програмою покажчика миші.
Властивості об’єкта.
Property ActiveControl: TwinControl; Містить зсилання на елемент з фокусом введення.
Property ActiveForm: Tform; Містить зсилання на вікно з фокусом введення.
Property Cursor: Tcursor; Визначає поточний вказівник миші для вікон програми.
Property Cursors[Index: Integer]:Тcursor; Відкриває доступ до одного із зареєстрованих покажчиків миші по його індексу.
Property CustomFormCount: Integer; Містить кількість вікон або сторінок властивостей програми, відкритих в даний момент.
Property CustomForms[Index:Integer]: TcustomForm; Містить список об’єктів класу TcustomForm – відкритих в даний момент вікон програми.
Propertу DateModuleCount: Integer; Містить кількість модулів даних в програмі.
Property DataModules [Index: Integer]: TdataModule; Містить список модулів даних – об’єктів класса TdataModule.
Property Fonts: Tstrings; Містить список імен всіх екранних шрифтів.
Property FormCount: Ineger; Містить загальну кількість відображаємих в програмі вікон.
Property Forms [Index: Integer]: Tform; Відкриває доступ до вікна програми по його індексу.
Property Height: Integer; Містить висоту екрану в пікселях.
Property IconFont: Tfont; Визначає шрифт для напису біля піктограми мінімізованої програми.
Property PixelsPerInch: Ineger; Містить розрішаючу властивість екрана в пікселях на дюйм.
Property Width: Integer; Містить ширину екрану в пікселях.
З даним об’єктом зв’язано дві події:
Property OnActiveControlChange: Виникає при переході фокуса введення від одного елемета до іншого.
Property OnActiveFormChange: TnotifyEvent; Виникає при переході фокусу введення від одногої форми до іншої.
ІІІ.Об’єкт Clipboard.
В Windows широко використовується буфер проміжного обміну даними Clipboard. Якщо програма Delphi зсилається на модуль Clipbrd, для неї стає доступним автоматично створений об’єкт Clipboard, що інкапсулює методи і властивості для роботи з буфером.
Властивості об’єкту.
Property AsText: String; Розглядає вміст буфера як текстовий рядок довжиною до 255 символів.
Property FormatCount: Integer; Повертає загальну кількість форматів що зберігаються в буфері даних.
Property Formats [Index:Integer]: Word; Відкриває доступ до даних по формату, вказаному індексом Index.
Методи об’єкту.
Procedure Assign (Source: Tpersistent); Копіює в буфер зображення.
Procedure Clear; Очищує буфер.
Procedure Сlose; Зменьшує на 1 лічильник блокування буферу і закриває його, якщо лічильник містить 0.
Function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer; Копіює з буферу обміну не більше BufSize символів в текстовий буфер Buffer і повертає дійсну кількість скопійованих символів.
Procedure HasFormat (Format: Word):Boolean; Повертає True, якщо містить данні в ворматі Format.
Procedure Open; Збільшує на 1 лічильник блокування буферу і відкриває його, якщо він не був ще відкритий.
Procedure SetTextBuf (Buffer:PChar); Поміщує в буфер обміну вміст текстового буфера Buffer.