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

  • Delete

  • Работа с формой и палитрой компонентов.

  • Некоторые приемы работы при разработке формы

  • Краткие теоретические сведения

  • Работа с окном Object Inspector и установкой свойств ви- зуальных компонент в режиме проектирования формы.

  • Краткие теоретические сведения.

  • методичка с++. Лабораторные работы по программированию в среде С Builder 0


    Скачать 1.64 Mb.
    НазваниеЛабораторные работы по программированию в среде С Builder 0
    Дата09.11.2020
    Размер1.64 Mb.
    Формат файлаpdf
    Имя файламетодичка с++.pdf
    ТипМетодическое пособие
    #149239
    страница4 из 7
    1   2   3   4   5   6   7
    IV. Компоненты, размещаемые на форме, разделяются на видимые
    (визуальные) и невидимые (невизуальные). Визуальные компоненты
    появляются в окне программы во время выполнения точно так же,
    как и во время проектирования. Невизуальные компоненты появляют-
    ся во время проектирования как пиктограммы на форме, они никогда
    не видны во время выполнения, но обладают определенной функцио-
    нальностью (например, вызывают стандартные диалоги Windows и
    проч.).
    Для размещения нужного компонента (элемента интерфейса) на
    форме следует:
    1. Переключится в окно формы
    2. Открыть нужную вкладку на палитре компонентов
    3. Щелкнуть нужный компонент
    4. а) Используя технологию «нажать – держать – тащить» указать
    на форме прямоугольную область, в которой будет помещаться нуж-
    ный элемент интерфейса
    б) щелкнуть в желаемом месте на форме
    V. Выделение группы элементов интерфейса на форме производится
    при нажатой клавише Schift. Для удаления элемента интерфейса с
    формы следует выделить его и нажать клавишу Delete. Перетаксива-
    ние элементов интерфейса (или их группы) и изменение размеров
    производится стандартным способом.
    VI. Как правило, перед первым запуском на исполнение нового про-
    екта необходимо сохранять как все его модули, так и сам про-
    ект.При последующих запусках сохранения не требуется, даже если
    в модулях были проведены какие-либо изменения. Напоминания о не-
    обходимости сохранить модуль в силу его изменений тоже отсутст-
    вуют, поэтому следует обязательно сохранять измененные модули
    самостоятельно.
    Упражнение 1. Работа с формой и палитрой компонентов.
    1. Запустить среду Borland C++ Builder 6.0

    37 2. Оставить видимыми три ее основных окна (форма, редактор кода, Object
    Inspector), и расположить их так, как показано на рис. 8.
    3. Выполнить View

    Window List и убедиться, что в списке открытых окон присутствуют лишь указанные выше.
    4. Переключиться в окно формы и добавить на нее компоненты, указан- ные в табл. 3 (компоненты распола- гать на форме в произвольном поряд- ке с произвольными размерами).
    5. Сохранить модуль (File

    Save или комбинация клавиш Ctrl+S или кнопка на панели инструментов) в папке своей группы с именем
    MyFom1.
    6. Переключится в «Проводник»
    (или запустить его при необходимо- сти), и открыв содержимое папки сво- ей группы убедиться в появлении файлов MyForm1.cpp, MyForm1.dfm,
    MyForm1.h.
    7. Переключиться в среду С++ Buil-
    Таблица 3
    Название компонента Вкладка на палитре компонентов
    1 2
    MainMenu
    Standart
    Label
    CheckBox
    RadioButton
    Edit
    Button
    Shape
    Additional
    SpeedButton
    Timer
    System
    OpenDialog
    Dialogs
    SaveDialog
    ColorDialog
    CSpinEdit
    Samples
    CCalender der 6.0и сохранить проект (File

    Save Project As) с именем MyPr1 в папке своей группы.
    8. Переключится в «Проводник» (или запустить его при необходимости) и убедиться в появлении файлов MyPr1.bpr, MyPr1.cpp, MyPr1.res.
    9. Вернуться в среду С++ Builder 6.0 и запустить проект (Run

    Run или клавиша F9 или на панели инструментов). При этом происходит трансляция и, если нет ошибок, компоновка программы и создание единого загружаемо- го файла с расширением exe. При этом на экране появляется окно програм- мы.
    10. Расположить на экране окна так, чтобы была возможность наблюдать на экране и форму, и появившееся окно программы. Сравнивая их, понять, ка- кие из добавленных компонент являются визуальными, а какие – нет.
    11. Закрыть окно выполняемой программы (стандартным образом).
    12. Выйти из среды C++ Builder 6.0 (закрыть среду C++ Builder 6.0).

    38
    Упражнение 2. Некоторые приемы работы при разработке формы
    1. Открыть проект MyPr1.
    2. Перемещая существующие на форме компоненты сгруппировать их так, чтобы в верхней части формы находились бы визуальные, а в нижней – не визуальные.
    3. Не сохраняя ни файл модуля, ни файл проекта, запустить проект и убе- диться, что все сделанные изменения были учтены.
    4. Закрыть среду программирования C++ Builder 6.0, ответив «Yes» на во- прос о сохранении изменений. Обратить внимание, что конкретно за измене- ния предлагается сохранить.
    5. Вновь открыть проект MyPr1.bpr.
    6. Удалить с формы компонент RadioButton.
    7. За один прием удалить с формы все невизуальные компоненты.
    8. Запустить проект.
    9. Закрыть проект.
    10. Выделить на форме компоненты Shape и SpeedButton и последовательно выполнить команды Edit

    Align, Edit

    Size, Edit

    Scale. Самостоятельно определить цели выполнения этих команд.
    Замечание. Вышеприведенные команды доступны также в контекстном меню выделенных компонентов.
    11. Выполнить View

    Alignment Palette и, нажимая на кнопки в появившей- ся панели, определить их цель.
    12. Установить для компонента Button ширину в 100 пт, а высоту – в 45 пт.
    13. Сделать так, чтобы все находящиеся на форме компоненты были сгруп- пированы по принадлежности их к вкладке на палитре компонентов, т.е., на- пример, в один столбик (строчку) были бы расположены все компоненты с вкладки Standart, в другой – все компоненты с вкладки Additional и т. д.
    14. За один прием сделать так, чтобы все компоненты с вкладки Standart име- ли бы размер по горизонтали в 120 пт, а размер по вертикали соответствовал бы меньшему из всех этих компонентов .
    15. Сохранить модуль, запустить проект, закрыть среду C++ Builder 6.0.
    Краткие теоретические сведения
    VII. Окно Object Inspector.
    Окно содержит две вкладки: Properties и Events, а также выпа-
    дающий список с перечнем всех находящихся на форме компонентов.

    39
    На обеих вкладках отображаются сведения о выделенном в данный
    момент на форме компоненте, или общие сведения для компонентов,
    если в данный момент на форме выделено несколько из них (те све-
    дения, которые справедливы для всех выделенных компонентов). На
    вкладке Properties отображаются свойства выделенного(ых) в дан-
    ный момент на форме компонента(ов). На вкладке Events – его(их)
    события.
    VIII. Изменение свойств компонентов на этапе проектирования фор-
    мы.
    Каждый компонент C++ Builder имеет три разновидности характе-
    ристик: свойства, события и методы.
    Свойства являются атрибутами компонента, определяющими его
    внешний вид и поведение. Изменять значения свойств пользователь
    может:

    в режиме проектирования формы;

    в ходе выполнения программы, написав соответствующий программ-
    ный код.
    Для изменения какого-либо свойства визуального компонента в
    режиме проектирования формы следует выделить нужный визуальный
    компонент на форме (щелчок) и изменить значение нужного свойства
    на вкладке Properties окна Object Inspector.
    Вкладка Properties содержит две колонки. Первая – название
    (имя) свойства компонента, вторая – его текущее значение.
    Свойства компонента могут быть простыми или сложными. К про-
    стым относятся свойства, определяемые единственным значением -
    числом, строкой символов, значением True (Истина) или False
    (Ложь) и т. п.
    Сложные свойства определяются совокупностью значений. Перед
    именем такого свойства стоит значок "+". При двойном щелчке на име-
    ни сложного свойства или при щелчке по значку «+» раскрывается спи-
    сок вложенных (уточняющих) свойств, а значок "+" меняется на "

    ".
    Значения свойств (как простых, так и сложных) могут вводиться
    вручную, выбираться из выпадающего списка или устанавливаться в
    специальных диалоговых окнах. В первом случае в правой колонке
    вкладки Properties находится обычное поле ввода, во втором – по-
    ле ввода представляет собой стандартный выпадающий список, в
    третьем – в поле ввода находится кнопка «…», щелчок по которой
    приводит к открытию диалогового окна
    IX. Важнейшие общие свойства визуальных компонентов приведены в
    табл. 4.

    40
    Таблица 4
    Название
    свойства
    Смысл
    Caption Отображаемый в компоненте текст
    Color
    Цвет фона компонента
    Cursor
    Вид указателя мыши при установке ее на компонент
    Enabled Регулирует доступность/недоступность компонента
    Font
    Регулирует тип шрифта, эффекты, размер, эффекты шриф-
    та
    Top
    Определяет местоположение левого верхнего угла компо-
    нента (в пикселях)
    Left
    Width
    Определяет ширину и высоту компонента (в пикселях)
    Height
    Visible Регулирует видимость/невидимость объекта в окне при-
    ложения
    Name
    Имя компонента, которое используется в дальнейшем в
    программе. Задается только в процессе проектирования
    и не должно изменяться во время выполнения.
    Hint
    Всплывающая подсказка, которая появляется при наведе-
    нии указателя мыши на компонент
    ShowHint Будет ли отображаться всплывающая подсказка для ком-
    понента
    Х. Специфические свойства некоторых элементов интерфейса:
    Компонент Label (Надпись)
    служит для получения коротких надписей на форме. Свойства
    компонента представлены в табл. 5.
    Таблица 5
    Название
    Смысл
    1
    2
    AutoSize
    Определяет, можно/нельзя автоматически менять раз-
    меры компонента так, ч тобы полностью отобразить
    текст Caption с учётом установленного шрифта.
    Alignment
    Определяет принцип горизонтального выравнивания
    текста внутри компонента. Возможные значения
    taLeftJustify
    прижать текст
    влево;
    taCenter
    выровнять
    по
    центру;
    taRightJustify прижать текст
    вправо

    41
    Таблица 5 (продолжение)
    1
    2
    Layout
    управляет положением текста по вертикали
    Возможные значения
    tlTop
    прижать вверх
    tlCenter выровнять по середине;
    tlBottom прижать вниз
    Transparent Определяет прозрачность метки:
    Возможные значения:
    False пространство метки закрашивается собствен-
    ным цветом (свойство Color)
    True Цвет, установленный в свойстве Color не
    учитывается и сквозь метку будут видны
    расположенные на ней компоненты (так, на-
    пример, можно наложить текст на графику)
    WordWrap
    Разрешение/запрет
    переноса
    слов
    из
    свойства
    Caption на следующую строку в случае, если длина
    выводимого текста превышает ширину компонента.
    Имеет смысл использовать только при AutoSize=False
    Компонент Edit
    Однострочный текстовый редактор, окно которого применяется
    для ввода данных. Свойства компонента приведены в табл. 6.
    Таблица 6
    Название
    Смысл
    1
    2
    Text
    Содержит набор символов, который пользователь
    указал в окошке компонента
    AutoSelect
    Определяет будет ли выделен/не выделен весь
    текст в окошке компонента в момент получения
    компонентом фокуса ввода.
    Возможные значения
    True Текст будет выделен
    False Текст не будет выделен
    HideSelection Определяет, останется ли выделение/будет снято
    выделение с символов в окошке компонента при по-
    тере компонентом фокуса ввода
    Возможные значения
    True Выделение будет снято
    False Выделение останется

    42
    Таблица 6 (продолжение)
    1
    2
    ReadOnly
    Разрешает/запрещает редактирование текста, ото-
    бражаемого в окошке компонента
    Возможные значения
    True Редактирование разрешено
    False Редактирование запрещено
    PasswordChar
    Позволяет скрыть вводимый текст, отображая вме-
    сто реально вводимых символов «символ-заглушку»
    Возможные значения
    #0
    Вводимые символы отображаются без сокры-
    тия
    Любой
    символ
    Вместо вводимых символов выводится ука-
    занный в свойстве символ
    BorderStyle
    Определяет вид рамки для поля ввода
    MaxLength
    Определяет максимальное количество символов, ко-
    торые можно вводить в окне компонента. Если зна-
    чение установлено в 0, то количество символов не
    ограничено
    Все оконные элементы имеют рамку по контуру, состоящую из
    двух фасок: внешней, отображаемой вдоль края элемента управле-
    ния, и внутренней, проходящей рядом с внутренней стороной внеш-
    ней фаски. Параметры рамки задаются группой свойств, представ-
    ленных в табл. 7.
    Таблица 7
    Название
    Смысл
    1
    2
    BevelEdges
    задает, какие стороны входят (отображаются) в
    рамку;
    BevelInner
    Задает вид внутренней фаски
    Возможные значения:
    bvNone
    Внутренней фаски нет. Значение по
    умолчанию
    bvLowered фаска выглядит утопленной в элемент
    управления
    bvRaised Фаска выглядит приподнятой над эле-
    ментом управления
    BevelKind
    определяет стиль рамки
    Возможные значения:
    bkNone рамки нет
    bkTile рамка с четкими скосами
    bkSoft рамка со сглаженными скосами
    bkFlat плоская рамка (без скосов)

    43
    Таблица 7 (продолжение)
    1
    2
    BevelOuter
    Задает вид внешней фаски. Возможные значения –
    такие же, как у BevelInner
    BevelWidth
    Задает ширину промежутка между фасками
    Ctrl3D
    Задает вид компонента (объемный/плоский(
    Возможные значения
    True Компонент объемный
    False Компонент плоский
    Компонент Button (кнопка)
    Обычная кнопка Windows. На первых порах достаточно знать лишь об
    одном специфическом свойстве этого компонента – Default. Свойст-
    во определяет, является ли компонент «кнопкой по умолчанию»
    (кнопка «подсвечена» рамкой, нажатие Enter соответствует щелчку
    по кнопке). Возможные значения свойства:
    True Является кнопкой по умолчанию
    False Не является кнопкой по умолчанию
    Только у одной кнопки на форме свойство должно быть установ-
    лено в True.
    Упражнение 3. Работа с окном Object Inspector и установкой свойств ви-
    зуальных компонент в режиме проектирования формы.
    1. Запустить среду C++ Builder и открыть проект MyPr1.
    2. Выделить на форме компонент Shape1. Посмотреть список его свойств.
    3. Выделить компонент CheckBox1. Посмотреть список его свойств
    4. Выделить одновременно компоненты Shape1 и CheckBox1 и просмотреть список их общих свойств
    5. Пронаблюдать действие свойств AutoSize и WordWrap (компонент Label):
    5.1. Выделить на форме компонент Label1.
    5.2. Установить для него размер шрифта 12 пт.
    5.3. Установить для него свойство AutoSize в значение False, а свойство
    WordWrap в значение True.
    5.4. Установить ширину и высоту компонента 90

    120 пикселей.
    5.5. Для свойства Caption выполнить набор символов «Это очень длинная- длинная- длинная надпись», наблюдая, в какой момент времени произой- дет переход на следующую строку.

    44 5.6. Очистить свойство Caption, а свойство WordWrap установить в False.
    Вновь набрать фразу «Это очень длинная-длинная-длинная надпись» и посмотреть эффект на форме.
    5.7. Установить свойство AutoSize в True и посмотреть результат измене- ний на форме.
    6. Установить для компонентов свойства, указанные в табл. 8.
    Таблица 8
    Компонент
    Свойство
    Значение
    1 2
    3
    CheckBox1
    Hint
    “Переключатель”
    Caption
    “Отображать график”
    Enabled
    False
    SpeedButton1
    Caption
    “Рисуй график”
    Glyph
    Добавить любую картинку, небольшую по размеру
    Шрифт подписи Arial, зеленый, полужирный курсив размером 12
    Shape1
    Shape stEllipse
    Brush
    Color

    clBlue
    Style

    bsDiagCross
    Shape1
    Pen
    Color

    0x000080FF
    Style

    psSolod
    Width

    10
    Width
    150
    Height
    150
    Cursor crHelp
    7. Сохранить форму, запустить проект, проверить правильность установки свойств.
    8. Изменить для SpeedButton1 значение свойства Flat на True; для CheckBox значение ShowHint на True; запустить проект и проверить эффект.
    Краткие теоретические сведения.
    XI. События
    Событие - это какое-либо действие, осуществляемое пользовате-
    лем, либо средой программирования, либо операционной системой.
    Каждое из событий перехватывает специальный обработчик и перена-
    правляет управление в специальную функцию, называемую обработчи-
    ком события. Текст функции-обработчика события составляет поль-
    зователь.

    45
    Каждое событие имеет свое имя. Список событий, на которые мо-
    жет реагировать тот или иной компонент приводится на вкладке
    Events окна Object Inspector. Вкладка Events содержит две колон-
    ки. Первая – название события компонента, вторая – имя функции-
    обработчика события.
    Три наиболее часто используемых события приведены в табл 9.
    Таблица 9
    Имя
    события
    Возникает
    Примечание
    Change
    Когда меняется состояние флаж-
    ка, переключателя,
    екста в
    окне редактора, изображения и
    проч.
    Click
    Когда пользователь щелкнул ле-
    вой кнопкой мыши в тот момент,
    когда указатель мыши находился
    на компоненте. Также это собы-
    тие возникает в случаях, когда
    действие, аналогичное щелчку
    по компоненту выполняется с
    помощью клавиатуры (нажатие
    , если компонент, на-
    пример кнопка, был в фокусе;
    выполнение комбинации «горя-
    чих» клавиш и т.д.)
    К одному и тому же
    компоненту нельзя на-
    писать
    обработчики
    событий
    Onclick
    и
    OnDbiciick, поскольку
    первый из них всегда
    перехватит первый из
    щелчков.
    DblClick когда
    пользователь
    дважды
    щелкнул левой кнопкой мыши на
    компоненте, причем отпустил
    кнопку
    мыши
    после
    второго
    щелчка над компонентом.
    Для того, чтобы добавить обработчик нужного события для ком-
    понента(ов) нужно:
    1. Выбрать на форме компонент(ы);
    2. Открыть вкладку Events окна Object Inspector
    3. Дважды щелкнуть в нужной строке по правому полю нужного события.
    При этом автоматически открывается окно редактора кода, в кото-
    ром генерируется текст пустой функции для соответствующего обра-
    ботчика события, и курсор устанавливается том месте, где следует
    вводить код.
    Имя любой функции-обработчика события генерируется по принципу
    1   2   3   4   5   6   7


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