Главная
Популярная публикация
Научная публикация
Случайная публикация
Обратная связь
ТОР 5 статей:
Методические подходы к анализу финансового состояния предприятия
Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века
Ценовые и неценовые факторы
Характеристика шлифовальных кругов и ее маркировка
Служебные части речи. Предлог. Союз. Частицы
КАТЕГОРИИ:
|
Компоненты Internet 1 страница
Рис.14
Компоненты закладки Internet (рис. 14) обеспечивают подключение к программе специальных элементов для создания клиентских и серверных приложений с протоколами TCP/IP и HTTP. Компонент ClientSockets (клиент подключений) позволяет создавать приложения для клиентов сетевого подключения по протоколу TCP/IP. Компонент ServerSockets (сервер подключений) превращает приложение в сервер TCP/IP. Данный сервер позволяет контролировать определенный порт на предмет распознавания запросов и установления соединений. Как видно из описания компонентов, среда разработки Borland C++ Builder 6 позволяет создавать программы самого разнообразного назначения во многих сферах компьютерных технологий.
В данной статье рассказывается о создании в среде разработки Borland C++ Builder 6 учебной программы с применением некоторых компонентов и мультимедийных функций.
Программа ABC Создадим еще одну программу. На этот раз она будет учебной и предназначена для обучения детей русской азбуке. Интерфейс, придуманный автором для этой программы, довольно прост. Программа будет иметь всего одно окно, на котором разместятся все буквы русского алфавита и один рисунок.
Рис.1
На рис.1. показано окно этой программы. При работе с данной программой после щелчка левой кнопки мыши но любой из букв рисунок в окне программы будет меняться на такой, который начинается или содержит в своем названии данную букву. Кроме того, через акустическую систему компьютера будет воспроизводиться соответствующий звук. Приступим к созданию самой программы. Запустите среду разработки Borland C++ Builder 6 и создайте новый проект с помощью команд File—>New—>Application. Сразу же сохраните проект с помощью команд File—>Save Project As на любом диске, создав для этого отдельную папку (каталог) с произвольным названием, например ABC. Программный модуль сохраните с именем Uabc.cpp а сам проект — с именем abc.bpr. Поместите на форму Form1 проекта компонент с названием Imagel из закладки Additional. Данный компонент необходим в программе для отображения на экране рисунков нз загружаемых впоследствии файлов. Замените свойство AutoSize компонента Imagel с false на true для того, чтобы его размер автоматически изменялся под размер отображаемого рисунка. Затем поместите на форму компонент Label1 из закладки Standard палитры компонентов. Измените свойство Caption данного компонента на Аа (большая и маленькая русская буква а). Откройте свойства Font компонента Label1 и приведите их в соответствие со свойствами, изображенными на рис. 2.
Рис.2
Скопируйте компонент Label1 на форме 32 раза с помощью команд Edit Copy и Edit Paste контекстного меню. При выделении и копировании можно пользоваться операциями для группы элементов, что значительно ускоряет процесс копирования. В результате на форме должно быть создано 33 компонента с названиями от Label до Label32. Измените свойство Caption (заголовок) скопированных элементов в соответствии с буквами русского алфавита от «Бб» до «Яя». Для облегчения данной операции воспользуйтесь табл.1, в которой приведено соответствие букв их порядковому номеру в русском алфавите.
Таблица 1
| Номер
| Буква
| Номер
| Буква
| Номер
| Буква
|
| А
|
| К
|
| Х
|
| Б
|
| Л
|
| Ц
|
| В
|
| М
|
| Ч
|
| Г
|
| Н
|
| Ш
|
| Д
|
| О
|
| Щ
|
| Е
|
| П
|
| Ъ
|
| Ё
|
| Р
|
| Ы
|
| Ж
|
| С
|
| Ь
|
| З
|
| Т
|
| Э
|
| И
|
| У
|
| Ю
|
| Й
|
| Ф
|
| Я
| Измените красный цвет свойства Font для согласных букв на синий цвет. Как известно, в русском алфавите 10 гласных и 23 согласных буквы. Теперь щелкните по компоненту Label1 левой кнопкой мыши и в открывшемся окне инспектора кода введите текст программы, приведенной на рис. 3.
Рис.3
При этом заготовка функции, создаваемая автоматически самой средой разработки и состоящая из строк
void __fastcall TForm1::Label1Click(TObject *Sender) { }
уже будет присутствовать в вашей программе. Вам останется лишь добавить строку комментариев
//---Буква А-----------------------------------------------------
перед функцией и строки команд Image1->Picture->LoadFromFile("PICTURE/1.bmp"); PlaySound("SOUND/1.wav",0,SND_ASYNC);
между фигурными скобками функции. Первая строка команд будет изменять свойство Picture компонента Image1 при выполнении программы путем загрузки файла l.bmp из каталога PICTURE после щелчка левой кнопкой мышки по данной букве. Вторая строка состоит из одной мультимедийной команды, с помощью которой будет воспроизводиться звуковой файл l.wav, расположенный в каталоге SOUND. Естественно, что эти файлы с рисунками и звуками необходимо будет создать самостоятельно и поместить в соответствующие подкаталоги проекта с названиями PICTURE и SOUND, которые необходимо создать в основном каталоге проекта. Borland C++ Builder 6 позволяет загружать звуковые файлы в формате wav и файлы рисунков в форматах bmp, wmf или jpg. Поэтому при создании файлов данных их необходимо сохранять только в этих форматах. Всего необходимо будет создать 33 файла с рисунками и 33 звуковых файла по числу букв русского алфавита. Имена этих файлов должны иметь названия от 1 до 33. Давать этим файлам имена по названию русских букв нежелательно, поскольку среда разработки является англоязычной и при использовании таких названий в дальнейшем могут возникнуть непредсказуемые проблемы. При создании звуковых файлов рекомендуется записать звуки букв, произносимые самим ребенком, который будет затем обучаться азбуке по создаваемой нами программе. В этом случае ему будет интересно слышать собственный голос и процесс изучения букв, станет более интересен. Для детей такой процесс обучения превратится в своеобразную игру. Звуковые файлы легко создаются с помощью программы звукозаписи sndrec32.exe, входящей в состав стандартной поставки операционной системы Windows. Данная программа запускается с помощью команд Пуск—>Программы—>Стандартные—>Развлечения->Звукозапись. Рисунки можно создать с помощью любого графического редактора. Для этих целей подойдет даже простейший графический редактор mspaint.exe, также входящий в состав стандартной поставки операционной системы Windows. Редактор вызывается командами Пуск—>Программы—>Стандартные—>Paint. Фон рисунков лучше всего сделать прозрачным или серым для того, что бы он сливался при отображении с фоном формы программы. Вставьте в начало программы строку подключения библиотеки мультимедийных функций в виде #include. Эти функции необходимы нашей программе для выполнения команд проигрывания звуковых файлов. Окончательный вид заголовка программы будет следующим: //---------------------------------------------------------------------------
#include #pragma hdrstop
#include #include "Uabc.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm"
Теперь откройте форму Form1 программы и замените ее свойство Caption на заголовок «Азбука». Разверните форму на весь экран и разместите все компоненты на форме в соответствии с рис. 1. Создайте функции обработки для каждой из букв, вызывая для этого инспектор кода щелчком левой кнопки мыши по букве и скопируйте строки программы, приведенные выше для буквы А (компонент Label1), в функцию каждой буквы. Замените в скопированных строчках комментарии и имена файлов. В результате у вас должна получиться программа, состоящая из строк, похожих на строки, приведенные ниже.
TForm1 *Form1; //---------------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //- Буква А --------------------------------------------------------------------- void __fastcall TForm1::Label1Click(TObject *Sender) { Image1->Picture->LoadFromFile("PICTURE/1.bmp"); PlaySound("SOUND/1.wav",0,SND_ASYNC); } //--Буква Б----------------------------------------------------------------------- void __fastcall TForm1::Label2Click(TObject *Sender) { Image1->Picture->LoadFromFile("PICTURE/2.bmp"); PlaySound("SOUND/2.wav",0,SND_ASYNC); } //--Буква В------------------------------------------------------------------------- void __fastcall TForm1::Label3Click(TObject *Sender) { Image1->Picture->LoadFromFile("PICTURE/3.bmp"); PlaySound("SOUND/3.wav",0,SND_ASYNC); } ....
и т.д.
//--Буква Я------------------------------------------------------------------------- void __fastcall TForm1::Label33Click(TObject *Sender) { Image1->Picture->LoadFromFile("PICTURE/33.bmp"); PlaySound("SOUND/33.wav",0,SND_ASYNC); } //---------------------------------------------------------------------------
Отличие может быть в расширениях файлов рисунков, поскольку формат этих файлов может быть одним из трех разрешенных, о чем было сказано выше. Для изменения значка программы необходимо нарисовать его с помощью инструментальной программы графического редактора Image Editor, встроенной в Borland C++ Builder 6, и загрузить этот значок через свойства проекта в программу. О том, как это сделать, было рассказано при описании создания программы timedate в предыдущей статье. Теперь необходимо сохранить проект с помощью горячих клавиш Ctrl+S и выполнить его трансляцию и запуск с помощью клавиши F9. Обратите внимание на что, что при раскрытой на весь экран форме быстрые кнопки и главное меню среды разработки становятся недоступны и использование горячих клавиш очень помогает в этом случае. Если при создании программы не было допущено ошибок, то она сразу начнет работать по приведенному в начале статьи алгоритму. Если в программе встретятся ошибки, воспользуйтесь встроенным в среду разработки отладчиком. При необходимости можно полностью свернуть форму. Вновь отобразить форму на экране можно с помощью клавиш Shift+F12.
В этой статье рассказывается об основных свойствах визуальных компонентов.
Свойства компонентов Рассмотрим основные свойства компонентов среды разработки Borland C++ Builder 6. При разработке программы удобно иметь справочную таблицу этих свойств в алфавитном порядке. Это позволяет оперативно находить нужное свойство для того, что бы узнать его назначение. В табл. 1 описаны основные свойства наиболее часто используемых компонентов Borland C++ Builder 6. Эти свойства сходны по смыслу и назначению для различных компонентов. Большинство компонентов среды разработки ВСВ6 имеет одинаковые свойства, определяющие их имя, заголовок, размеры, скрытость и т. д. Познакомившись с одним из таких свойств на примере одного компонента, можно понять его назначение и для другого компонента. Поэтому мы будем рассматривать основные свойства компонентов, не привязываясь к конкретному их типу, а делая это лишь в исключительных случаях.
Таблица1
Свойство
| Назначение
| ActiveControl
| Определяет, какой элемент управления на форме будет выделен при запуске программы.
| Align
| Выравнивание объекта внутри родителя. Принимает значения: alMone — нет выравнивания; aLTop — по верхней границе; alBottom — по нижней границе; alLeft — по левой границе; alRight — по правой границе; alClient — по всему размеру родителя.
| Alignment
| Горизонтальное выравнивание: taLefUustify — по левому краю; taRiqhOustify — по правому; taCenter — по центру.
| Anchors
| Определяет, как объект будет перемещаться или сжиматься при изменении размеров родителя. Например, если включить два подсвойства akLeft и akRiqht, то объект будет сжиматься при уменьшении его ширины. По умолчанию не используется.
| AutoScroll
| Если равно true, то разрешается автоматическое появление полос прокрутки, когда содержимое объекта не умещается в его видимой части.
| AutoSize
| Если равно true, то размер объекта будет автоматически подстраиваться под размер его содержимого.
| BiDiMode
| Способ поведения объектов с учетом национальной специфики — ввод текста и прокручивание информации слева направо (bdLeftToRiqhf по умолчанию) или справа налево (bdRiqhtToLeft)
| Borderlcons
| Набор значков в системном меню формы.
| BorderStyle
| Вид рамки объекта. Принимает значения bsNone — нет рамки; bsSingle — простая рамка; bsSizeable — рамка, позволяющая изменять размеры объекта мышью; bsDialog — рамка в стиле диалоговых окон; bsToolWindow — как bsSingle, но с небольшим заголовком; bsSizeToolWin — как bsSizeable, но с небольшим заголовком.
| BorderWidth
| Ширина рамки
| Cancel
| Определяет, будет ли происходить для данного объекта событие OnClick, когда пользователь нажмет клавишу Esc. Для этого значение Cancel должно быть равно true.
| Caption
| Заголовок. Для одних объектов применяется, чтобы задать заголовок в окне или надпись на кнопке, для других —описывает их содержимое (например, у полей надписи).
| Checked
| Свойство, определяющее состояние флажков (true — включен).
| Color
| Цвет объекта.
| Columns
| Число столбцов
| Constraints
| Содержит четыре подсвойства, определяющие минимально и максимально допустимые размеры объекта.
| Cti3D
| Вид объекта в объемном стиле (стандарт для Windows 95 и выше).
| Cursor
| Задает вид указателя, который отображается при наведении на объект.
| Default
| Определяет, будет ли происходить для данного объекта событие OnClick, когда пользователь нажмет клавишу Enter. Для этого свойство Default должно иметь значение true.
| DockSite
| Применяется для различных панелей, объектов группирования и т. д. Когда включено (т. е. true), позволяет использовать этот объект как базу для стыковки других объектов на форме при перетаскивании. Обеспечивает режим «прилипания» (см. свойство DraqKind).
| Down
| Состояние кнопки. Нажата — true.
| DraqCursor
| Задает вид указателя, который отображается при перетаскивании объекта мышью.
| DragKind
| Определяет, можно ли объект произвольно перетаскивать по окну (dkDrag) или же его можно перемещать как стыкуемый объект (dkDock), который сам определяет свою форму при стыковке с другими объектами.
| Drag Mode
| Определяет, можно ли объект перетаскивать (dmAutomatk) или нет (dmManual — по умолчанию) в соответствии с режимом, указанным в DraqKind.
| Enabled
| Доступность объекта. Когда свойство Enabled имеет значение false, объект становится недоступным для пользователя (например, кнопка делается серой и щелкнуть на ней нельзя).
| FileName
| Имя файла. Используется при сохранении выбранного файла в стандартных диалоговых окнах, для указания имени файла с мультимедийным содержимым. Применяется для компонентов воспроизведения музыки или звука и т. д.
| Flat
| Вид границ объекта (true — плоские границы).
| Font
| Определяет шрифт, которым будут делаться все надписи внутри объекта. Содержит множество подсвойств.
| FormStyle
| Стиль формы. Может принимать значения: fsNormal — обычное окно; fsMDIChild — внутренне окно многооконного приложения; fsMDIForm — родительское окно многооконного приложения; fsStayOnTop — всегда на поверхности экрана.
| Glyph
| Графический файл, содержащий от одного до четырех (отпущено, недоступно, нажато, выделено) изображений графической кнопки.
| Height
| Высота объекта.
| HelpContext
| Номер экрана справочной системы, который будет вызываться при нажатии клавиши F1 при работе с объектом. Требует знания устройства справочной системы Windows.
| HelpFile
| Имя файла справочной системы для данного приложения или окна.
| HorzScrollBar
| Вид и стиль горизонтальной полосы прокрутки. Состоит из множества подсвойств.
| Hint
| Текст подсказки, которая всплывает при наведении указателя мыши на объект. Эта подсказка будет показываться, если свойство ShowHint установлено в true.
| Icon
| Имя файла со значком для приложения.
| Images
| Список картинок, которые будут использоваться для показа кнопок на панели инструментов, в пунктах меню и т. д.
| ItemIndex
| Текущий выбранный элемент в списке Items. Нумерация начинается с нуля. Если ничего не выбрано, то значение Itemlndex равно-1.
| Items
| Список объектов, хранящих основные данные. Используется во всевозможных списках, меню и наборах.
| Kind
| Вид (тип) объекта. Для разных компонентов может принимать разные значения.
| Left
| Левая координата объекта на родительском объекте.
| Lines
| Список строк. Используется в многострочных текстовых элементах. По структуре походит на свойство Items.
| Max
| Максимальное значение диапазона, используемого во всевозможных компонентах прокрутки, ползунках и т. п.
| MaxLenqth
| Максимально допустимая длина вводимой строки символов.
| Min
| Минимальное значение диапазона, используемого во всевозможных компонентах прокрутки, ползунках и т. п.
| ModalResult
| Значение, которое возвращает модальное диалоговое окно при его закрытии. Может принимать значения mrNone (по умолчанию), mrOk, mrCancel. mrAbort, mrRetry, mrlgnore.mrYes, mrNo и mrAII. Если во время работы диалога в это свойство записать значение, не равное mrNone, то диалоговое окно сразу закроется.
| Name
| Название объекта (имя переменной, которая будет использоваться в программе для обращения к этому объекту).
| Options
| Параметры настройки объекта. Различаются для разных компонентов.
| Orientation
| Ориентация объекта. Может быть горизонтальной (udHorizontal) или вертикальной (udVertical).
| OwnerDraw
| Характеризует, будет ли объект рисовать свой образ на экране самостоятельно (true) или использовать стандартный вид.
| Picture
| Картинка. Позволяет загрузить графический файл, например для компонента image.
| PixelsPerlnch
| Число точек (пиксел) на дюйм экрана. Используется для масштабирования формы в зависимости от экранного разрешения. Будет учитываться, если свойство Scaled имеет значение true.
| PopupMenu
| Контекстное меню, связанное с объектом и вызываемое по щелчку правой кнопки мыши над этим объектом. Выбирается в раскрывающемся списке доступных меню и должно быть подготовлено заранее.
| Position
| Для формы - положение на экране. Принимает значения: poDesigned - положение окна во время работы программы соответствует положению формы на экране на этапе проектирования; poDefault - положение определяется Windows; poDefaultPosOnly - используются размеры, заданные разработчиком; poDefaultSizeOnly - используется положение, заданное разработчиком; poScreenCenter - положение в центре экрана для много мониторных систем; poDesktopCenter - положение в центре экрана. Для всевозможных компонентов прокрутки, движков и т. п. - текущее положение движка.
| Readonly
| Если данное свойство имеет значение true, то объект будет доступен в режиме только для чтения. Например, поле ввода с включенным свойством Readonly позволяет просматривать содержимое, но не позволяет изменять его.
| Scaled
| Если имеет значение true, то учитывается свойство PixelsPerlnch.
| Show/Hint
| Определяет, надо ли показывать всплывающую подсказку, хранящуюся в свойстве Hint
| Sorted
| Используется во всевозможных списках. Когда включено (true), содержимое списка будет автоматически сортироваться перед выводом на экран.
| Style
| Стиль объекта. Используется для разных компонентов (кнопок, списков, шрифтов и т.д.).
| TabOrder
| Определяет номер объекта при передвижении по элементам управления в родительском окне с помощью клавиши Tab. Начинается с О.
| TabStop
| Определяет, будет ли происходить выделение данного объекта и остановка на нем при передвижении по элементам управления в родительском окне с помощью клавиши Tab.
| Tag
| Свойство, сделанное специально для разработчиков. Оно нигде не используется и предназначено только для хранения числа типа int. Tag можно рассматривать как пользовательское свойство и применять его для любых собственных нужд.
| Text
| Содержимое различных текстовых элементов управления (полей ввода и т. п.).
| Title
| Титул (заголовок) приложения, колонки, сообщения.
| Top
| Верхняя координата объекта на родителе.
| Transparent
| Прозрачность фона объекта. Например, если свойство Transparent имеет значение true для поля надписи, помещенного на объект-изображение, то отображаться на этом изображении будет только текст, а затирания изображения фоном не произойдет.
| VertScrollBar
| Вид и стиль вертикальной полосы прокрутки. Состоит из множества подсвойств.
| Visible
| Определяет, будет ли виден объект во время работы программы (по умолчанию — true).
| Width
| Ширина объекта.
| WindowState
| Статус окна при его открытии. Принимает значения: wsNormal — используются размеры и положение, заданные на этапе проектирования; wsMinimized — в свернутом BHfle;wsMaximized — в развернутом виде.
|
Самыми распространенными значениями, которые могут иметь большинство свойств, являются True (истина) иFalse (ложь) или просто «да» и «нет», т. е. если свойство принимает значение True> оно активизируется. При значении False это свойство блокируется. Свойства любого компонента можно изменить во время создания программы с помощью инспектора объектов, при этом для большинства свойств эти изменения можно зрительно увидеть по тому, как изменится при этом сам компонент. В предыдущих примерах программ уже показывалось, как изменения свойств компонента влияют на его форму, цвет и т. п. Все свойства объекта доступны не только на этапе проектирования, но и во время работы программы. Их значения можно изменять и в ходе ее выполнения в программном коде. Это также было показано в предыдущих примерах программ. Например, строка программы:
Image1->Picture->LoadFromFile("PICTURE/1.bmp");
изменяет свойство Picture компонента Image1 путем загрузки LoadFromFile графического файла 1.bmp из каталога PICTURE. В описании свойств часто встречается программный термин «родитель». Свойства компонентов, начинающиеся со слова Parent (родитель), определяют общение компонента со своим «родителем» — объектом, на котором он расположен. Например, когда поле ввода помещается на форму, то для него «родителем» будет форма. Если командная кнопка размещена на панели инструментов, то для нее «родителем» будет панель и т. д. В большинстве прикладных задач эти свойства можно не учитывать. Некоторые из перечисленных в таблице свойств имеют подсвойства. Примером такого свойства является Font. Ранее мы уже использовали данное свойство при создании программы обучения азбуке. Настройка подсвойств Font не представляет проблем, поскольку поддерживается оконным интерфейсом, знакомым пользователям Windows по приложениям Word, Excel и т. д. Еще одним свойством с множеством подсвойств является Anchors (якоря). Его подсвойства akLeft, akTop, akRight и akButtom со значениями True и False позволяют смещать (фиксировать) компонент соответственно влево, вверх, вправо или вниз. Достаточно часто используемым свойством является Color. Поскольку современные графические средства позволяют передавать миллионы цветовых оттенков, число значений свойства Color довольно велико. Тем не менее, эти значения имеют индивидуальные названия, которые приведены в табл. 2 вместе с их описанием.
Таблица2
Цветовая константа
| Цвет
| clAqua
| Цвет морской волны
| clBlack
| Черный
| clBlue
| Синий
| clCream
| Кремовый
| clDkGrav
| Темно-серый
| clGray
| Серый
| clGreen
| Зеленый
| clLime
| Ярко-зеленый (липовый)
| clLtGray
| Светло-серый
| clMaroon
| Бордовый
| clMedGray
| Средне-серый
| clMoneyGreen
| Денежный (долларовый)
| clNavy
| Цвет военно-морского флота
| clOlive
| Оливковый
| clPurple
| Пурпурный
| clRed
| Красный
| clSilver
| Серебряный
| clSkyBlue
| Небесно-голубой
| clTeal
| Цвет «чирок»
| clWhite
| Белый
| clYellow
| Желтый
| clScrollBar
| Цвет полос прокрутки
| clBackground
| Цвет фона рабочего стола
| clActiveCaption
| Цвет заголовка активного окна
| cllnactiveCaption
| Цвет заголовка неактивного окна
| clMenu
| Цвет фона меню
| clWindow
| Цвет фона окон
| clWindowFrame
| Цвет рамок окон
| clMenuText
| Цвет текста меню
| clWindowText
| Цвет текста окон
| clCaptionText
| Цвет текста заголовка неактивного окна
| clActiveBorder
| Цвет бордюра активного окна
| cllnactiveBorder
| Цвет бордюра неактивного окна
| clAppWorkSpace
| Цвет рабочей области компонента
| clHiqhiiqht
| Цвет фона выделенного текста
| clHiqhtliqhtText
| Цвет выделенного текста
| clBtnFace
| Цвет поверхности кнопок
| clBtnShadow
| Цвет теней кнопок
| clGrayText
| Цвет текста недоступных элементов
| clBtnText
| Цвет текста кнопок
| cllnactiveCaptionText
| Цвет текста заголовка неактивного окна
| clBtnHiqhliqht
| Цвет выделенной кнопки
| cl3DDkShadow
| Для Windows95 и NT. Цвет темных теней трехмерных компонентов
| cl3DLiqht
| Для Windows95 и NT. Цвет светлых частей трехмерного компонента
| cllnfoText
| Для Windows95 и NT. Цвет текста всплывающих подсказок
| cllnfoBk
| Для Windows95 и NT. Цвет фона всплывающих подсказок
| clGradientActiveCaption
| Для Windows98 и Windows2000. Цвет правой стороны градиентной заливки названия активного окна.
| clGradientlnactiveCaption
| Для Windows98 и Windows2000. Цвет правой стороны градиентной заливки названия неактивного окна.
|
Не нашли, что искали? Воспользуйтесь поиском:
|