рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Палитра компонентов.

Палитра компонентов. - раздел Программирование, Объектно-ориентированное программирование Мы Будем Описывать Только Наиболее Важные Свойства И События Для Компонентов ...

Мы будем описывать только наиболее важные свойства и события для компонентов и перечислим только наиболее часто используемые компоненты из стандартных библиотек Delphi 3.0. Для Delphi 2.0 практически все далее сказанное также справедливо. Существенным отличием является более развитая справочная система в Delphi 3.0, позволяющая в режиме on-line получать практически всю необходимую информацию, что резко облегчает работу. Поэтому приводимые далее описания компонентов дают лишь общее знакомство с палитрой.

 

5.9.4. Метка (tLabel).

Этот компонент предназначен для показа в некотором месте формы статического или изменяющегося в процессе работы приложения текста. Свойство font позволяет выбирать тип, стиль, размер и цвет фонта, а height и width — задавать размеры отведенного под метку места. Свойство caption ("титр", "подпись под картинкой") позволяет вводить в инспекторе объектов (object inspector) или присваивать программно в процессе работы строку с текстом длинной до 255 символов. Свойство WordWrap дает возможность автопереноса текста на следующую строку при превышении шириной строки значения Width. Свойство AutoSize, напротив, вызывает автоматическое установление значения Width по длине строки.

Метка не может захватывать фокус, поэтому на нее невозможно установить курсор. В результате кусок текста на экране, созданный с помощью tLabel, невозможно выделить и скопировать в буфер обмена (clipboard), что бывает крайне неприятно для пользователей программ. Поэтому вместо tLabel рекомендуется использовать компонент tEdit в режиме запрета редактирования текста и с цветом, совпадающим с цветом формы.

 

5.9.5. Кнопка (tButton) и кнопка с картинкой (tBitButton).

Свойство caption задает надпись на кнопке, а событие onClick позволяет выполнить необходимые действия в случае нажатия кнопки. Компонент tBitButton (потомок tButton) дает возможность вывода на кнопке рядом с текстом картинки, имя картинки задается свойством Glyph ("наклейка"). Картинка должна быть в формате Bitmap. Существует возможность в одном .bmp-файле по очереди (слева направо) располагать до 6 картинок. Обычно используют 2 (для свойства enabled, установленного в true и false соответственно). При enabled=false текст на кнопке становится "пассивным" (более серым, чем обычно), и рисуется соответствующая картинка, которую также обычно изображают "более серой". Другие пары — для состояний кнопки "нажата/не нажата". Кнопку tBitButton можно использовать вместо tButton без всяких изменений, если не задавать имя картинки. Это дает дополнительные возможности: в tBitButton можно установить цвет текста на кнопке, а в tButton нельзя.

 

5.9.6. Однострочный пункт ввода-вывода и редактирования текста (tEdit).

Помимо своей обычной функции может служить полной заменой однострочной метке при соответствующих установках свойств (цвет фона как у компонента, на котором расположен пункт, enabled=false и т.д.). При enabled=true возможен захват фокуса пунктом. В этом случае при Readonly=true можно выделять и копировать в буфер выделенный текст, а при Readonly=false текст можно также редактировать. Свойство text позволяет возвращать или устанавливать строку текста для пункта. Свойство MaxLength позволяет устанавливать максимальную длину вводимого текста в пределах от 1 до 255 символов. Если MaxLength=0 (по умолчанию), это эквивалентно 255 (autosize). AutoSelect=true позволяет тексту в пункте автоматически становиться выделенным при входе в пункт.

 

5.9.7. Многострочный пункт ввода-вывода и редактирования текста (tMemo).

Аналогичен компоненту tEdit, но с произвольным количеством строк. Свойство Alignment задает режим выравнивания текста внутри компонента (по центру, левому или правому краю). Длина текста не должна превышать 64Kb. WordWarp задает режим переноса слов. ScrollBars позволяет показывать (или не показывать) внутри компонента линейки прокрутки по вертикали и горизонтали.

Вводимый/выводимый текст доступен либо как единый объект через свойство Text, либо через свойство Lines — как массив строк. Поскольку строки tMemo хранятся в объекте типа tStrings, к ним применимы все методы этого класса, например:

tMemo1.Lines.Add('эта строка добавляется в конец текста');

 

5.9.8. Выпадающий список (tComboBox).

Потомок tEdit. Выглядит так же, но имеет "стрелку вниз" справа от поля ввода-вывода текста. При нажатии на нее выпадает список строк, из которых можно выбрать нужную, которую обычно и показывают после этого в поле ввода-вывода. Доступ к выпадающим строкам идет через свойство Items, у которого, в свою очередь, есть свойство Strings. Доступ к видимому в "свернутом" состоянии тексту идет, как и в tEdit, через свойство Text. Добавление новой строки в список пунктов (Items) может производиться так:

ComboBox1.Items.Add('Добавленная строка');

 

5.9.9. Пункт независимого выбора (tCheckBox).

Это маленький квадратик с расположенной рядом меткой. У данного пункта может быть три состояния: Checked (отмечен), noChecked (не отмечен) и Grayed (затемнен, что обычно подразумевает, что он недоступен для изменения). В случае Checked в квадратике рисуется крестик или галочка, noChecked — квадратик пустой, Grayed — рисуется более темным фоном.

 

5.9.10. Пункты зависимого выбора — "радиокнопки" (tRadioButton).

Группа взаимоисключающих пунктов выбора (отмеченным может быть только один из группы). По виду отличаются от tCheckBox тем, что рисуются кружками. При выборе одного элемента группы в центре кружка рисуется точка, а предыдущий перестает быть отмеченным. Чтобы создать независимые группы радиокнопок, надо помещать соответствующую часть из них на другие группирующие элементы — tGroupBox или tPannel.

 

5.9.11. Таблица (сетка) строк (tStringGrid).

Обеспечивает вывод таблицы с текстом. Таблица состоит из ячеек (Cells). Доступ к ячейке идет через двумерное свойство Cells[i,j]. Количество столбцов в таблице задается свойством ColCount, а строк (рядов) — RowCount. Ширину и высоту ячеек в любом столбце или строке, соответственно, можно независимо задавать с помощью свойств DefaultColWidth и DefaultRowHeight.

Часть столбцов и строк в таблице могут быть "фиксированными". Число фиксированных строк задается свойством FixedRows, столбцов — свойством FixedCols. Фиксированные ячейки выполняют в таблице особую роль.

· Во-первых, они являются заголовками столбцов и строк. Они имеют другой цвет фона (по умолчанию серый, а не белый, как обычные ячейки), не захватывают фокус (хотя такие столбец или строка как единое целое могут его захватить при заданных соответствующих опциях) и не допускают редактирования находящегося в них текста, даже если свойство doEditing для компонента установлено как true во множестве свойств Options.

· Во-вторых, при установке в true свойства goRowsMoving и/или goColsMoving (также множество свойств Options) можно менять порядок строк и/или столбцов, "хватаясь" за них "мышью".

Приведем пример процедуры инициализации таблицы StringGrid, считая, что все необходимые атрибуты установлены на этапе визуального проектирования:

procedure SG_Init;

var i,j:Integer;

begin

StringGrid1.Cells[0,0]:='N'; {заголовок первого столбца - буква N}

for j:=1 to ColCount-1 do {заголовок других столбцов}

StringGrid1.Cells[0,j]:='Заголовок'+IntToStr(j);

for i:=1 to RowCount-1 do {первый столбец - номер строки}

StringGrid1.Cells[i,0]:=IntToStr(i);

end;

Эту процедуру можно вызвать, например, по событию onCreate для StringGrid1 (либо просто перенести приведенный текст внутрь обработчика события). В отличие от большинства других компонентов StringGrid, как правило, нуждается в программной инициализации подобного рода.

 

5.9.12. Диалоги (tOpenDialog,tSaveDialog è äðóãèå).

РАБОТА С ГРАФИКОЙ

Пример:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Image1: TImage;

Edit1: TEdit;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

close

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Image1.Canvas.Pen.Color:=clGreen;

Image1.Canvas.Lineto(StrToInt(Edit1.Text),StrToInt(Edit2.Text))

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Image1.Canvas.Pen.Color:=clRed;

Image1.Show;

end;

end.

 

6. Интерфейсы и множественное наследование

– Конец работы –

Эта тема принадлежит разделу:

Объектно-ориентированное программирование

На сайте allrefs.net читайте: "Объектно-ориентированное программирование"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Палитра компонентов.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Object PASCAL
(72 часа) Вадим Валериевич Монахов, доцент кафедры вычислительной физики СпбГУ Введение   1.1. Основной принцип ст

Алфавит языка PASCAL. Идентификаторы.
Основной алфавит языка PASCAL состоит из латинских букв и цифр. Буквы: ABCD...XYZ — заглавные (прописные), abcd...xyz — строчные, а также знак _

Простые и составные специальные символы, используемые на ПК.
Перечисленный ниже набор несколько расширяет стандарт PASCAL, однако на ПК является стандартом de facto. Простые специальные символы: + Плюс – “сложени

Стандартные типы данных. Двоичное представление чисел и дополнительный код.
Целые типы Byte: 0..255 — байтовый (1 байт) ShortInt: -128..127 — короткое целое (1 байт) Word: 0..65535 — 16-ричное слово (2 байта) Inte

Арифметические операторы.
Бинарные полиморфные (тип результата определяется по правилам приведения типов, см. далее): + сложение (все целые и вещественные типы, строковые типы, множества).

Логические операторы и операции отношения.
Логические операторы: and логическое "И". Пример: a and b or логическое "ИЛИ": a or b xor логическое "исключающее ИЛИ": a xor b not

Потеря точности, потеря порядка и переполнение при арифметических операциях.
Пусть x1 – арифметическая переменная real, x2 – вещественная extended. Тогда выполнение присваиваний x2:=1+1e-14 даст 1.00000000000001, а x1:=1+1e-14 даст 10000000000000,т.к. числа real имеют всего

Структура простейшей программы.
В PASCAL любое число пробелов, символов <TAB> или переносов на новую строку везде приводится к одному пробелу (конечно, кроме строковых выражений). Имя файла с текстом программы должно быть т

Простейшие операторы языка Object PASCAL
2.9.1. Пустой и составной операторы. Операторы в языке PASCAL разделяется символом ";". Пустой оператор — это просто пустая строка (или эквивален

Процедуры и функции. Формальные и фактические параметры. Передача параметров по ссылке, по значению и через указатель.
Процедуры по своей структуре напоминают независимую программу, вложенную в основную программу. Главное их отличие в том, что они, как правило, имеют параметры, передаваемые из внешнего программного

Локальные и глобальные переменные. Побочный эффект функции. Вложенность процедур и функций. Правила видимости.
В приведенных выше примерах часть переменных описана в блоке описания переменных программы. Такие переменные называются глобальными. Они существуют в любой момент выполнения программы. Другая часть

Модули. Секции декларации, интерфейса и реализации. Области видимости.
На самом деле общая структура модуля при наличии в нем класса несколько сложнее. Обсудим ее более подробно. Написание собственного модуля (unit) начинается с указания имени модуля. В нашем

Классы, экземпляры класса, наследование, иерархия.
Объектный тип (например, tDot) называется классом. Переменная данного типа — объект или, что то же самое, экземпляр класса. То есть при задании Var dDot:tDot переменная dDot – это

Пример объектно-ориентированной программы: движение фигур по экрану.
unit Figures; interface uses…; type tLocation= object X,Y:Integer; procedure Init(X_,Y_:Integer); function GetX:Integer;

Виртуальные методы. Конструкторы. Раннее и позднее связывание. Полиморфизм.
В приведенной выше программе при описании объектов некоторые методы заданы как виртуальные (virutal). В этом случае перед вызовом какого-либо метода соответствующего экземпляра класса (переменной о

Динамические объекты. Выделение и высвобождение памяти. Деструкторы.
Указатель на объект устроен так же, как обычные указатели:    

Правила присваивания. Совместимость типов для объектов.
Для потомков при использовании их "на месте" прародителей любого уровня имеется два основных варианта совместимости типов (по вызовам и по присваиваниям) между: 1. экземплярами о

Пример на создание, присваивание и уничтожение динамических объектов.
Unit FigDemo1; Uses…,Figures,FigArc; var FigKey:char; Ang1_ini,Ang2_ini,R_ini,X_ini,Y_ini:Integer; newX,newY,newR:Integer; pFigure:tpDot; outside:Boolea

Пример динамического выделения и высвобождения памяти для однонаправленного списка объектов.
Создадим список, в котором хранятся различные фигуры — объекты иерархии с классом-прародителем tDot. Введем запись типа "узел", ссылающийся на одну фигуру и один другой (предыдущий) узел:

Очередь, стек, двунаправленный список.
Совершенно аналогичным образом можно создавать объект — двунаправленный список, в котором каждый узел имеет указатели как "влево" (на предыдущий узел), так и "вправо" (на послед

Классы, объекты, поля и методы.
В Object Pascal класс — тип записи, который может иметь в своем составе поля данных и методы (а также свойства, но о них будет отдельный разговор). Пример описания класса и переменн

Свойства.
В Delphi пожелание ООП "не обращаться из программы к полям, а действовать через методы" нашло отражение в новом для ООП принципе — свойствах объекта. Свойство определяется

Создание и уничтожение объектов. Конструкторы и деструкторы.
В Object Pascal объекты могут быть только динамическими! Любая переменная объектного типа — это указатель, но доступ к объекту идет без 'шляпки', а создание нового объекта осуществляется не операто

Наследование. Статические, виртуальные, динамические и абстрактные методы.
Все классы Delphi — потомки класса tObject. Если нет указания, какой класс является прародителем, значит, это tObject. Определение tMyObject=class ... end; полно

Области видимости объектов.
В Delphi существуют зарезервированные слова public ("общие"), protected ("защищенные") и private ("личные") для определения специальных правил видимости областей кода

Обработка исключительных ситуаций.
Во время работы программы часто встречаются исключительные ситуации: деление на 0, отсутствие места на диске или попытка писать на защищенную для записи дискету, ошибочный символ при вводе (наприме

Специальные средства для работы с MS Windows: сообщения.
Для обработки сообщений Windows в Delphi существует механизм динамических методов, называемых сообщениями. Они должны быть описаны в классе как процедуры, имеющие один параметр, передаваемый по име

События и их делегирование. Обработка событий.
События — это свойства процедурного типа. Их название принято начинать с префикса "on". Для описания события некого типа (как описать новый тип события будет рассказано далее) в объекте н

Методы класса и указатели на класс.
Некоторые методы бывает нужно вызывать без создания экземпляра класса (например, для получения информации о имени класса, размере экземпляра класса и т.п.). Такие методы называются методами класса

Дополнительные возможности Object Pascal.
4.17.4. Функции а) могут возвращать значения определенных пользователем типов, включая сложные; б) внутри каждой функции предопределена доступная по чтению и записи локальн

Визуальное проектирование в среде Delphi.
Перед началом работы обычно надо настроить пути к библиотеке Delphi, а в Delphi 3.0 также установить пакеты. Это связано с тем, что Windows 95 (и, тем более, NT 4.0) имеет индивидуальные настройки

Создание экранных форм. Инспектор объектов.
При входе в Delphi автоматически открывается проект "по умолчанию". Изначально это проект с пустой экранной формой, на которой пунктиром показана сетка, к которой идет привязка для выравн

Общие представления об интерфейсах в Object PASCAL
Интерфейс объекта определяют методы и свойства, которые могут быть реализованы классом-наследником этого интерфейса. Они описываются аналогично абстрактным классам, так же, как абстрактные классы,

Особенности разработки DLL
Работа программ с DLL (Dynamic Link Library) поддерживается операционной системой, а не компилятором какого-либо языка программирования. Они представляют собой универсальный механизм использования

ActiveX
Подпроцессы (Threads) Для создания дополнительного подпроцесса в программах Delphy предназначен специальный модуль (в репозитории он представлен пиктограммой Thread Object

Использование библиотек OpenGL и GLU
5.21. Создание программистом собственного компонента Литература 1. В.В.Фаронов . Delphi 6. Учебный курс.- М.:"Нолидж", 2001.- 608 с.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги