49930 (Скріпт мова управління віконним інтерфейсом на С++)

2016-07-30СтудИзба

Описание файла

Документ из архива "Скріпт мова управління віконним інтерфейсом на С++", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49930"

Текст из документа "49930"

Міністерство освіти і науки України

ФАКУЛЬТЕТ ІНФОРМАТИКИ

КАФЕДРА



Реєстраційний №________

Дата ___________________







КУРСОВА РОБОТА

Тема:

Скріпт мова управління віконним інтерфейсом на С++









Рекомендована до захисту

“____” __________ 2008р.

Робота захищена

“____” __________ 2008р.

з оцінкою

_____________________

Підписи членів комісії



Зміст



Вступ

Теорія

Практична частина

Висновки

Література



Вступ



Поставимо перед собою задачу створення програми скріпт мови управління віконним інтерфейсом. Для створення програми необхідно ознайомитися з основними можливостями середовища програмування С++ BILDER фірми Borland.

Замість окремого інструментарію, що оперує візуальними елементами керування, в C++ Builder інтегрована так називана Палітра компонентів, розділена картотечними вкладками на кілька функціональних груп. Функціональні можливості компонентів, що поставляють, можна досить просто модифікувати, а також розробляти компоненти, що володіють зовсім новим оригінальним поводженням.







ТЕОРІЯ



Бібліотека Візуальних Компонентів дозволяє програмістам візуально створювати програмні додатки, не прибігаючи більше до кодування класів "вручну", або кодуванню в рамках стандартних бібліотек MFC (Microsoft Foundation Class), або OWL (Object Windows Library).

C++ програмістам тепер не треба створювати або маніпулювати об'єктами інтерфейсу з користувачем шляхом написання відповідного коду. Переважна більшість додатків ви будете розробляти візуально за допомогою Редактора форм C++Builder, додаючи лише кілька рядків к.оброблювачам ключових події компонент. Використайте об'єкти завжди, коли це можливо; твердо пручайтеся позиву написати новий код те тих пор, поки всі інші можливості не будуть вичерпані.

Вам буде потрібно оперативне володіння пристроєм Бібліотеки Візуальних Компонентів. Глибина необхідних програмістам знань про склад і функціональні характеристики Бібліотеки визначається тим, як ви збираєтеся неї використати. За допомогою команди головного меню Help | VCL Reference ви можете одержувати відомості з довідкової служби в процесі роботи з Бібліотекою.

VCL для прикладних програмістів

Програміст створює закінчений додаток за допомогою інтерактивної взаємодії з інтегрованим візуальним середовищем C++Builder, використовуючи компоненти VCL для створення інтерфейсу програми з користувачем і з іншими керуючими елементами: обслуговування баз даних, контрольованого уведення параметрів і т.д. Характерна для C++Builder методика візуального стилю розробки програмного забезпечення не застосовується множиною інших систем програмування.

Програмісти повинні знати властивості, методи й події, властивим використовуваним компонентам. Більше того, розуміння архітектури VCL дозволяє вдосконалювати вашу програму в тих місцях, де відчувається необхідність розвитку існуючих або створення нових компонентів. Перш, ніж винаходити новий елемент, упевніться, як прийнято, чи не створив уже хтось компоненту з потрібними вам характеристиками.

VCL для системних програмістів

Системні програмісти розвивають існуючу Бібліотеку - або додаючи в неї нові елементи, або розширюючи функціональність уже наявних компонентів. Розроблювачі компонентів повинні мати більше глибокі знання про внутрішній пристрій VCL, ніж прикладні програмісти. Потрібно чітко уявляти собі, який прийом швидше приведе до поставленої мети: розвиток наявної або написання нового компонента. Написання компонентів являє собою більше традиційну задачу програмування й сполучено з більшими умовностями, ніж візуальне створення додатків.

Варіанти C++Builder Professional й C++Builder Client/Server Suite поставляються разом з вихідними текстами VCL. Наявність вихідних текстів полегшує завдання програмістів, які займаються розробкою нових компонентів і розширенням функціональних можливостей уже наявних компонентів Бібліотеки.

Для створення нових компонентів можна з однаковим успіхом користуватися засобами C++Builder або Delphi, однак якщо розроблені компоненти пропонуються для зовнішнього застосування, автор зобов'язаний упевнитися, що вони працюють у рамках обох систем.

Компоненти VCL

Компоненти - це будівельні цегли, з яких конструюється інтерфейс програми з користувачем, за допомогою яких "будинок" програми здобуває новий зовнішній вигляд і сховані особливості. Для прикладного програміста будь-який компонент VCL являє собою об'єкт, якому можна "перетягнути" із вкладок Палітри компонент (Рис. 6.1) на форму створюваного додатка. Помістивши компоненту на форму, можна маніпулювати її властивостями (за допомогою Редактора форм) і кодом (за допомогою Редактора коду), надаючи компоненті специфічне поводження.

Палітра компонентів з обраною піктограмою TLahel

Для розроблювача компонента являють собою об'єкти на C++ або на Об'єктному Паскале. Деякі компоненти инкапсулируют поводження типових елементів керування, надаваних операційними системами Windows. Інші компоненти вводять зовсім нові видимі й невидимі елементи, програмний код яких повністю визначає їхнє поводження.

Складність компонентів різна. Так TLabel із вкладки Standard Палітри компонентів здатна лише відображати статистичний текст. Можна сконструювати значно більше складний компонент, що, наприклад, инкапсулирует закінчене обслуговування бухгалтерських документів спеціалізованої бази даних.

Типи компонентів

З погляду прикладного програміста компонентний об'єкт являє собою закінчену конструкцію, що містить властивості, методи й події. На відміну від розроблювача компонентів, користувачеві компонентів байдуже, від якого класу зроблений даний компонент.

Прикладные програмісти приймають як факт, що кожен компонент має властивості Тор й Left, які визначають положення компонента на формі-власнику; для них не істотно, що ці властивості успадковані від загального попередника TComponent. Навпроти, коли ви створюєте компонент, ви зобов'язані знати, від якого батька можна запозичити потрібні вам властивості, а також всі інші його характеристики, так, щоб їх можна було успадковувати, а не створювати знову.

З визначення об'єктних класів ви знаєте, що при визначенні деякого класу (спадкоємця) ви робите його від існуючого об'єктного типу (безпосереднього попередника). Стандартний абстрактний тип TObject є, за замовчуванням, першим попередником (прабатьком) всіх об'єктів Бібліотеки Візуальних Компонентів.

Компоненти по суті являють собою об'єкти спеціальних типів. Лише трохи виключенні виділяють структуру компонентів із загальних правил структурування об'єктів мовою C++:

• Більшість компонентів являють собою елементи керування інтерфейсом з користувачем, причому деякі мають досить складне поводження.

 • Усі компоненти є прямими або непрямими нащадками одного загального класу-прабатьків (TComponent).

• Компоненти звичайно використаються безпосередньо, шляхом маніпуляцій з їхніми властивостями; вони самі не можуть служити базовими класами для побудови нових підкласів.

• Компоненти розміщаються тільки в динамічній пам'яті за допомогою оператора new.

Розуміння VCL засноване на трьох фундаментальних принципах. По-перше, вам доведеться ознайомитися зі спеціальними характеристиками чотирьох базисних типів компонент: стандартного керування, оригінального керування (custom control), графічного керування й невидимих компонентів. По-друге, ви повинні розуміти структуру Бібліотеки, у яку убудовані описи й реалізації кодів компонент. У третіх, ви повинні знати положення згаданих чотирьох типів компонент в ієрархії VCL.

Стандартні компоненти

Деякі компоненти VCL инкапсулируют поводження таких типових елементів керування операційної системи Windows, як TButton, TListbox й TEdit. Ви знайдете стандартні компоненти на вкладках Standard й Win95 Палітри компонентів.

Будь-який стандартний компонент виглядає й поводити точно так само, як й инкапсулированный нею елемент керування Windows. VCL додає обрамлення, що ніяк не міняє властивостей вихідного елемента керування, а лише робить доступної модифікацію виду й поводження компоненти за допомогою властивостей і методів.

Якщо ви збираєтеся використати стандартні компоненти без змін, вам не потрібно вникати в правила побудови обрамлень VCL. Розроблювач компонентів може відкрити файл вихідних текстів стандартних компонентів, що входить у поставку версій C++Builder Professional або Client/Server Suite, щоб зрозуміти, яким образом відомі елементи керування Windows обрамляються при включенні в Бібліотеку.

Наприклад, компонента TListBox відображає елементи списку в один стовпець, хоча инкапсулирует клас простого списку LISTBOX з Windows, що може відображати список у кілька стовпців. Щоб змінити поводження компонента, вам доведеться реалізувати перевантаження методу створення даного компонента, прийнятого за замовчуванням.

Оригінальні компоненти

На відміну від стандартних компонентів, оригінальні компоненти являють собою елементи керування, у яких немає ні методу для власного відображення, ні заздалегідь певного поводження. Розроблювач компонентів повинен передбачити код, що реалізує малювання самого компонента й код, що визначає поводження компонента, коли користувач взаємодіє з нею. Прикладами оригінальних компонентів є TPanel й TStringGrid.

Слід зазначити, що як стандартні, так й оригінальні компоненти завжди асоціюються з деяким вікном керування, тому іноді називаються віконними (windowed components). Даний аспект докладно обговорюється в параграфі, що описує клас TWinControl. Віконні компоненти мають наступні властивості: вони можуть бути активізовані (прийняти фокус уведення), використають системні ресурси й можуть служити контейнерами, тобто бути родителями інших елементів керування. Прикладом контейнерного компонента є TPanel.

Графічні компоненти

Графічні компоненти являють собою видимі елементи керування, які не можуть прийняти фокус уведення, тому що не є віконними. Графічні компоненти забезпечують відображення об'єктів без використання системних ресурсів, вони вимагають менших "накладних витрат", ніж стандартні або оригінальні компоненти. Прикладами графічних компонентів є TImage й TShape.

Графічні компоненти не можуть служити контейнерами для інших елементів керувань, тобто не можуть володіти іншими компонентами.

Невидимі компоненти

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

За допомогою Інспектора об'єктів ви можете модифікувати властивості невидимих компонентів і передбачати код оброблювачів подій для них. Прикладами таких компонентів є TOpenDialog, TTable або TTimer.

Контейнерні компоненти

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

Право володіння

Будь-який компонент може перебувати у володінні (ownership) інших компонентів, але не все компоненти можуть бути власниками. Властивість компонента

Owner (Власник) містить посилання на компонент, що нею володіє. Рис. 6.2 показує ієрархію володіння деякої форми.

Приклад ієрархії володіння

Власник відповідає за звільнення тих компонентів, якими володіє, коли сам руйнується. Так у процесі конструювання форми, вона автоматично стає власником всіх компонентів, розміщених на ній, навіть якщо частина їх розміщена на іншому компоненті, такий як TPanel. Володіння застосовне не тільки до видимих, але й до невидимого (Ttimer, DataSource) компонентам.

Коли компонента створюється динамічно в процесі виконання програми, конструкторам компонента передається її власник як параметр. У наступному прикладі неявний власник форми (this) передається конструкторові компонента TButton як параметр. TButton виконає присвоювання значення переданого параметра властивості Owner кнопки MyButton:

MyButton = new TButton(this);

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

Ви можете створити компоненту, у якої немає власника, передаючи значення параметра 0 конструкторові компоненти. Однак, коли цей компонент перестає бути потрібної, її знищення виконується примусово (за допомогою оператора delete). Наступний приклад ілюструє обіг з компонентом TTable, що не має власника:

TTable* MyTable = new TTable(0)

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4121
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее