Главная страница
Навигация по странице:

  • V. Підведення підсумків заняття. І. Домашнє завдання

  • Контрольні питання

  • Зміст лекції

  • Лекція №1.2.4 Тема Робота з компонентом Мета

  • ІІІ. Виклад нового матеріалу План лекції

  • Контрольні питання: 1. Що таке RTF 2. Для чого використовують RTF 3. Особливості різних пакетів реалізації роботи з RTF в C++ Builder. Зміст лекції

  • Лекції_1_ІЗВП. Коледж промислової автоматики та інформаційних технологій


    Скачать 1.63 Mb.
    НазваниеКоледж промислової автоматики та інформаційних технологій
    Дата07.09.2021
    Размер1.63 Mb.
    Формат файлаpdf
    Имя файлаЛекції_1_ІЗВП.pdf
    ТипРобоча програма
    #230328
    страница4 из 7
    1   2   3   4   5   6   7
    ІІІ. Виклад нового матеріалу План лекції
    1. Компонент ImageList
    2. Індикатор виконання
    3. Повзунок
    4. Реверсивний лічильник І. Узагальнення та систематизація знань.

    43
    V. Підведення підсумків заняття. І. Домашнє завдання:

    Ознайомитись з теоретичними відомостями лекції 1.2.3

    Вивчити основні поняття лекції

    Дати відповіді на контролдьні питання
    Контрольні питання:
    1. Де розташований компонент ImageList?
    2. Для чого потрібен компонент ImageList?
    3. Який компонент є індикатором виконання?
    4. Які властивості є у компонента ProgressBar?
    5. Які властивості є у компонента TrackBar?
    6. Що виконує компонент UPDOWN?
    Зміст лекції
    Колекція картинок Для використання в додатку різних піктограм, що пояснюють призначення пунктів меню, а також для оформлення кнопок, розташованих на панелях
    інструментів, найзручніше використовувати не окремі зображення, прив'язані до кожного конкретного об'єкта, а колекції. У такому випадку компонент буде лише посилатися на номер картинки в такої колекції, представленої в VCL компонентом
    ImageList. Компонент ImageList, або список зображень, розташований на закладці
    Win32 палітри компонентів, є невізуальим компонентом. Інакше кажучи, на екрані його вміст не відображається безпосередньо, але може бути виведено на поверхні якого візуального компонента. При цьому елементами ImageList можуть виступати зображення форматів "бітовий масив" BMP або "значок" ICO.
    Розміри всіх картинок в списку повинні бути однаковими. Щоб задати розмір кожного зображення, використовують властивості Висота і ширина, що визначають габарити картинки в пікселях.
    Окрім самих зображень, в списку можуть зберігатися маски зображень, що визначають спосіб виведення самого зображення. Розміри маски повинні збігатися з розмірами самого зображення. Так, нульовий біт маски означає, що в даній точці зображення повинно бути прозорим (тобто буде виведений піксель кольору фону.

    44
    Ненульовий біт вказує нате, що в даному місці повинен бути виведений відповідний йому біт зображення. За можливість обробки маски зображення відповідає властивість масках. Якщо воно встановлено в істину, то маска буде накладатися при виведенні, а якщо в брехню, маска враховуватися не буде.
    Якщо при виведенні зображення потрібно замінити колір фону в тих місцях, де воно є прозорим, слід використовувати властивість bkColor. При значенні, відмінному від clNone («безбарвний»), зазначений у цій властивості колір буде використовуватися в якості фону на області, займаної зображенням. Однак якщо властивість масках встановлено в брехню, то значення властивості bkColor не матиме сенсу.
    Якщо ж маска як така не вказана, то для визначення прозорої області використовується колір фону. Щоб його вказати, тай для того, щоб взагалі визначити самі зображення під час розробки програми, використовують спеціальний редактор, який можна викликати з контекстного меню компонента
    (ImageList редактор, або подвійним клацанням по ньому.
    Індикатор виконання Для індикації виконання тривалих операцій - таких, як процес копіювання безлічі файлів, форматування дисків і т.д., використовують спеціальний графічний
    індикатор, зазвичай представляє собою смугу з дискретним приростом. Індикатор виконання представлений у VCL компонентом ProgressBar, і, подібно інших аналізованих у цій главі компонентам, знаходиться на закладці Win32 палітри компонентів.

    45 Компонент ProgressBar є спадкоємцем класу TWinControl і має всього кілька властивостей, необхідних для свого використання за призначенням, а саме:
    Min і Max - мінімальне і максимальне значення діапазону індикатора.
    Задаються цілочисловим значенням, за замовчуванням мінімальне значення дорівнює 0, а максимальне - 100;
    Position - позиція, або поточне значення індикатора. Значення цього параметра завжди має перебувати в межах діапазону, заданого властивостями Min і
    Max;
    Крок - величина збільшення при дискретно зміні значення методом StepIt. За умовчанням встановлено в значення 10;
    Крім цих властивостей, необхідних для безпосереднього використання
    індикатора виконання, так само передбачені властивості, що впливають на його відображення. Насамперед, це властивість орієнтації, яке впливає на просторову орієнтацію індикатора. Воно може приймати значення 2 - pbHorizontal і pbVertical, що означають розміщення по горизонталі і вертикалі. За замовчуванням використовується горизонтальне розміщення, якщо ж буде потрібно змінити його на вертикальне, то слід відповідним чином змінити розміри (ширину і висоту) компонента.
    Інша властивість - Гладка булевого типу, може стати в нагоді в тому випадку, якщо всупереч рекомендаціям Microsoft за частиною інтерфейсу для
    Windows-додатків, ви зважитеся використовувати не дискретну смугу індикації, а суцільну. У такому випадку досить буде встановити значення властивості Гладка в
    істину.
    Змінювати значення індикатора можна кількома способами. Перш за все, можна встановлювати значення безпосередньо через властивість Статус
    ProgressBar1->Position = 50;
    Інший спосіб полягає у використанні вже згаданого методу StepIt. При цьому значення індикатора буде збільшено на величину, зазначену у властивості Step. Це зручно в тих випадках, коли, наприклад, потрібно виконати заздалегідь відоме число операцій (скажімо, 5), приблизно однакових за часом виконання. У такому випадку можна, залишивши значення Min і Max прийнятими за замовчуванням,

    46 встановити параметр в кроці 20, і використовувати метод StepIt для відображення перебігу виконання:
    ProgressBar1->Step = 20; для I = 1 до 5' едл.п
    RunLongProc (I);
    ProgressBar1->StepIt; Утих же випадках, коли потрібно змінювати значення індикатора на різні величини, то, крім прямої вказівки нового положення за допомогою властивості Посада, можна використовувати метод StepBy, передаючи йому як параметр значення, на яке має збільшитися значення індикатора.
    Повзунок
    Якщо індикатор виконання покликаний відображати будь-які процеси, що відбуваються в програмі, і користувач не може безпосередньо змінити його стан, то компонент регулювання діапазону, або повзунок, вирішує повністю протилежне завдання, а саме - дозволяє користувачу самому встановити значення з діапазону.
    Повзунок представлений компонентом TrackBar, і розташований безпосередньо по сусідству з компонентом ProgressBar. Це сусідство не випадково, адже хоча завдання цих компонентів і протилежні, за своєю суттю вони обидва є компонентами, які працюють з діапазонами значень. Зокрема, як і ProgressBar,
    TrackBar компонент є прямим спадкоємцем класу TWinControl. Крім того, він так само має властивості Min, Max і Положення. Єдиною відмінністю поки є те, що за замовчуванням для властивості встановлено значення Max 10. Ще одна загальна властивість - Орієнтація - також дозволяє змінити розташування повзунка з горизонтального на вертикальне. Правда, при цьому його розміри змінюються автоматично.
    Зате далі починаються більш істотні відмінності. Зокрема, компонент
    TrackBar має цілий ряд властивостей, що впливають на його вид, в основному - на розташування його рисок.
    Властивості компонента TrackBar Частота Integer Визначає величину інтервалу між ризиками
    LineSize Integer Визначає величину збільшення при управлінні повзунком з клавіатури клавішами-стрілками

    47
    РазмериСтраніц Integer Визначає величину збільшення при управлінні повзунком з клавіатури клавішами PageUp і PageDown
    SelEnd Integer Визначає позицію закінчення обраного діапазону
    SelStart Integer Визначає позицію початку обраного діапазону
    SliderVisible булевих Визначає, чи повинен відображатися сам повзунок
    ThumbLength Integer Визначає розмір повзунка
    TickMarks TTickMark Визначає розташування рисок. Допустимі значення: tmBottomRight, tmTopLeft і tmBoth
    TickStyle TTickStyle Визначає спосіб виведення рисок. Допустимі значення: tsNone, tsAuto і tsManual
    Типово ризики малюються для кожного кроку збільшення (частота = 1), по нижній стороні смуги (TickMarks = tmBottomRight). Те, що вони взагалі виводяться
    - "заслуга" TickStyle властивості, що має за умовчанням значення tsAuto. Якби воно було встановлено в tsNone, то рисок взагалі не було б видно. У тому ж випадку, якщо для нього вибрано значення tsManual, то виділено було б тільки початок і кінець діапазону, а проміжні позиції можна було б виставити за допомогою методу
    SetTick:
    TrackBar1->TickStyle = tsManual;
    TrackBar1->SetTick (4);
    TrackBar1->SetTick (7);
    У даному випадку у компонента TrackBar1 було б виставлено 4 мітки - на початку, на й позиції, на й, і на останній. Метод SetTick - це єдиний власний метод компонента TrackBar, всі ж інші його методи цілком стандартні, оскільки є успадкованими від класу TWinControl.
    Ще 2 властивості - SliderVisible і ThumbLength відповідають за сам повзунок. Так, якщо властивість SliderVisible встановлено в брехню, то повзунка видно не буде. При цьому, зрозуміло, користувач нічого не зможе вдіяти з таким компонентом. А властивості LineSize і PageSize впливають на переміщення повзунка за допомогою клавіатури. Таким чином, залишається розглянути ще 2 властивості - SelStart і SelEnd, які, на додаток до властивості Посада, визначають деякі вибрані з діапазону значення, фактично, утворюючи вкладений діапазон. Він виділяється на шкалі

    48 повзунка сірим кольором. Відзначимо, що дані властивості можна встановити тільки в процесі візуальної розробки або програмно. Для прикладу розглянемо додаток, що використовує 2 повзунка: один - для вибору значення, а інший - для установки коефіцієнта. Підсумкове значення буде відображатися чисельно в заголовку вікна і візуально - за допомогою індикатора виконання. Для цього створимо новий додаток і розташуємо на його головній формі 2 елементи TrackBar і 1 ProgressBar. Потім проведемо наступні зміни ри допомоги інспектора об'єкта: Для компонента TrackBar1 встановимо властивість Орієнтація в trVertical, а властивостям Min, Max і позиція призначимо значення 6, 12 і 10, відповідно. Крім того, встановимо для нього властивості SelEnd SelStart і в 11 і 9, ау Для TrackBar2 обмежимося зміною значення його властивості ThumbLength з
    20 на 15;
    Індикатор ProgressBar1 залишимо взагалі без змін.
    Після всіх виконаних операцій розмістимо всі ці компоненти на формі таким чином, щоб TrackBar1 знаходився по лівому краю форми, а решту 2 компонента - правіше його. Крім того, постачимо їх все пояснюючими написами за допомогою міток: для TrackBar1 - "коефіцієнт", для TrackBar2 - "переміщення", і для
    ProgressBar1 - "індикація
    Реверсивний лічильник UpDown
    Ще один компонент, призначений для роботи з діапазонами значень - це
    UpDown, відомий так само як реверсивний лічильник. Зовні він являє собою здвоєну кнопку з двома стрілками, використовуваними для збільшення або

    49 зменшення значення. Оскільки сам по собі цей компонент нічого не відображає, то його зазвичай асоціюють з яким-небудь іншим віконним об'єктом, який може візуально відображати значення лічильника. Як правило, для цих цілей використовують однорядковий редактор - редагування, мітку типу StaticText
    (ярлик не підходить з тієї причини, що не є віконним компонентом, або будь-який
    інший компонент, який може виводити текст (багатостроковий редактор, спадаючий список і т.д. ).
    Підключення лічильника до асоційованого компоненту проводиться шляхом привласнення властивості компонента асоційованих UpDown імені потрібного об'єкта. Для цього можна використовувати інспектор об'єкта: у списку навпроти цієї властивості будуть перераховані всі відповідні для цього об'єкти. При асоціювання лічильник автоматично вирівнюється по правій стороні обраного об'єкта. Але за допомогою властивості AlignButton можна зробити так, щоб лічильник виявився по правій стороні компонента - для цього дана властивість треба встановити в значення udLeft.
    Ще одна властивість компонента UpDown - Орієнтація - вже знайоме нам по
    інших компонентів, призначеним для роботи з діапазонами значень. Стосовно до реверсивному лічильнику воно може приймати значення udVertical і udHorizontal, і змінює розташування кнопок між видами вгору-вниз і вліво-вправо.
    Інші властивості також нам уже відомі - це мінімум, максимум і Положення.
    Властивість ж прирощення за своєю суттю аналогічно властивості LineSize у компонента TrackBar: воно відповідає на зміну значення при натисканні користувачем на стрілки клавіатури або при клацанні мишкою по кнопці. Правда, для реверсивного лічильника є деякі відмінності: по-перше, він реагує тільки на натискання стрілок вгору і вниз, а подруге, його реакцію на клавіатуру можна взагалі відключити, якщо встановити в брехню інше його властивість - ArrowKeys.
    Нарешті, остання властивість, тисячі, відповідає за те, повинні чи ні використовуватися роздільники тисяч.
    Оскільки реверсивні лічильники, найчастіше, використовується спільно з однорядковим редактором, то слід враховувати деякі особливості їх спільного використання. Перш за все, користувач може змінити поточне значення лічильника
    (тобто його властивості Position) не тільки клацаючи по кнопках, але і ввівши його

    50 безпосередньо в асоційований компонент з клавіатури. При цьому автоматично виробляється перетворення рядка в число, і результат привласнюється властивості позиції. Очевидно, що при зміні значення самим компонентом UpDown, виконується зворотна ситуація: значення властивості позиція перетворюється в рядок і привласнюється властивості тексту редактора. Цим можна користуватися для того, щоб уникати зайвих перетворень в коді програми, оскільки коли потрібно отримає число, то можна звернутися до властивості посаду, а коли текст - до тексту. Наприклад, для елемента UpDown1, асоційованого з Edit1, ми можемо використовувати такий код
    Form1->Caption = Edit1->Text;
    ProgressBar1->Position = UpDown1->Position; При цьому слід враховувати, що якщо користувач введе замість числа рядок, яку неможливо перетворити в ціле, то значення властивості позиція не зміниться, хоча виняткової ситуації при цьому не виникне. Разом з тим, в VCL передбачений спеціальний компонент, який представляє собою реверсивний лічильник, поєднаний з текстовим редактором. Він називається
    SpinEdit і розташований на закладці зразків палітри компонентів. Цей компонент не є стандартним для ОС Windows, проте зручний тим, що не дозволяє користувачеві вводити які-небудь символи крім цифр. Поточне значення цього компонента доступно тільки в числовому вигляді і представлено властивістю
    Value. Інші властивості - MinValue і MaxValue аналогічні властивості Min і Max
    UpDown компонента, а властивість MaxLength, що відповідає за максимальну кількість цифр, запозичена у компонента Edit. Ну а властивість прирощення повністю відповідає такому у лічильника UpDown.
    Єдине нову властивість компонента SpinEdit - це EditorEnabled, яке дозволяє заборонити введення даних безпосередньо з клавіатури. Втім, тут також можна провести аналогію з парою UpDown-Edit, оскільки у однострочного редактора є властивість Enabled, що дозволяє домогтися такого ж ефекту.

    51
    Лекція №1.2.4 Тема Робота з компонентом Мета Познайомитися з форматом RTF та компонентами, що підтримують роботу з ним познайомитися з прикладами використання
    Література
    1. Галисеев Г.В. Компоненты в C++ Builder 7. Профессиональная работа
    Диалентика 2004 2. Гурвиц ГА. «MS Access 2010 Разработка приложений на реальном примере БХВ-Петербург 2010 3. Cухарев М. «C++ Builder Полное руководство Наука и техника 2008
    Хід заняття І. Організаційний момента) готовність групи до заняття; б) психоемоційний настрій; в) перевірка присутніх.
    ІІ. Актуалізація опорних знань студентів а) повідомлення теми та мети заняття; б) відповіді на запитання:
    - Де розташований компонент ImageList?
    - Для чого потрібен компонент ImageList?
    - Який компонент є індикатором виконання?
    - Які властивості є у компонента ProgressBar?
    - Які властивості є у компонента TrackBar?
    - Що виконує компонент UPDOWN?
    ІІІ. Виклад нового матеріалу План лекції
    1. Поняття RTF
    2. Пакет All In-The-Box for C++ Builder
    3. Пакет RichView (C++Builder version) та RichView (C++ Builder version)
    4. Приклад програмної реалізації.
    5. Компонент RichEdit І. Узагальнення та систематизація знань.


    52
    V. Підведення підсумків заняття. І. Домашнє завдання:

    Ознайомитись з теоретичними відомостями лекції 1.2.4

    Вивчити основні поняття лекції

    Дати відповіді на контролдьні питання
    Контрольні питання:
    1. Що таке RTF?
    2. Для чого використовують RTF?
    3. Особливості різних пакетів реалізації роботи з RTF в C++ Builder.
    Зміст лекції
    Поняття RTF
    Rich Text Format(RTF, формат збагаченого тексту (rich з англійського — багатий) — пропрієтарний міжплатформовий формат зберігання розмічених текстових документів, запропонований корпорацією і
    іншими розробниками. Перша версія стандарту RTF з'явилася в 1987 році, й відтоді специфікація формату кілька разів змінювалася. Rtf-документи підтримуються більшістю сучасних текстових редакторів(під Microsoft Windows це, як правило, здійснюється за допомогою стандартнихбібліотек, що входять в склад системи).
    Пакет All In-The-Box for C++ Builder
    Програма All In-The-Box - це VCL компонент для створення документів і збереження їх в як файлів PDF. Програма проста у використанні і не вимагає додаткових програм. Програма записує на природному форматі PDF.
    Програма підтримує C++ Builder 4, 5, 6, 7, 2005, 2006 і 2007 (режим Win32).
    Вихідний код на мові C++ Builder доступний як опція. Доступні також ActiveX і
    DLL API.
    Зрозумілий інтерфейс програмування (приблизно 180 методів, властивостей і подій) дозволяє вам створити складні документи. Характеристики програми:
    Управління текстом
    Стильові таблиці з механізмом спадковості Вставка rich text, завантаженого з файлів RTF.

    53
    Багаторядкові текстові поля з розумним відключенням і горизонтальним і вертикальним приляганням.
    Інтерактивні форми:
    - Підтримувані типи полів: кнопка запуску, таблиця редагування, таблиця замітки, таблиця списку, радіо кнопки.
    - Підтримка стилю таблиць.
    - Посилання та дії JavaScript можуть бути задані для всіх полів.
    Сітки:
    - Потужна система управління сіткою з малюванням сітки і методами заповнення.
    - Зміна аспекту і розмірів для кожної колони.
    Графіки:
    - Геометричне малювання (рядки, прямокутники, кола, кругові діаграми, полігони).
    - Управління малюнком (Усі загальні формати підтримуються)
    - Розумне розтягнення малюнків (зберігаючи співвідношення).
    Мультимедіа:
    - Закладки (зміст відображене як древо в програмах перегляду PDF)
    - Гiперпосилання: внутрішні, віддалені, зовнішні або інтернет посилання.
    - Анотації та гумові штампи. Контроль документів:
    - Підтримуються всі розміри паперу
    - Орієнтація може змінюватися всередині документа
    - Кодування й захист: пароль власника, користувача і опції безпеки
    - Глобальна і часткова система нумерування. Контроль відображення:
    - Масштабування, режим зіставлення, команди навігації
    - Змінна панель інструментів
    - Панель Е з пошуковою системою Контроль принтера
    - Ранг сторінок
    - Вибір принтера

    54
    - Динамічний вибір паперового лотка
    - Установки принтера.
    Пакет RichView (C++Builder version) та RichView (C++ Builder version) Пакет компонентів для Borland C++ Builder і C + + Builder, що дозволяють переглядати, редагувати і виводити на друк форматовані гіпертекстові документи.
    Компоненти підтримують різне шрифтове оформлення (різні шрифти і кольори тексту, верхні і нижні індекси, спеціальні ефекти). Документи можуть містити картинки, таблиці, зображення з ImageList, інші компоненти.
    Вирівнювання абзаців по лівому або правому краю, по центру або ширині, що настроюються відступи і межі, кодування Unicode, фонові зображення, масштабований перегляд перед друком, експорт в HTML, імпорт і експорт RTF, зв'язок з полями баз даних, і багато іншого.
    Приклад програмної реалізації
    Додавання або вставка RTF з одного TRichEdit в інший
    Управління TRichEdit є редактором, який підтримує форматування тексту текст, який включає в себе зміна атрибутів шрифту, форматування абзаців, форматування тексту.
    1   2   3   4   5   6   7


    написать администратору сайта