Четвертый Borland C++ и его окружение

         

Использование объектов меню


Класс TSystemMenu ObjectWindows позволяет вам модифицировать

системное меню окна. Этот класс является производным от TMenu и

отличается от него только конструктором, в аргументах которого

указывается описатель окна и флаг. Если флаг имеет значение True,

то текущее системное меню удаляется, и на его место помещается

объект меню, представляющий немодифицированное меню. В случае

False объект меню представляет текущее системное меню. Для работы

с системным меню можно использовать все функции-элементы, наследуемые из TMenu.

Для создания всплывающего меню, которое вы можете добавить к

окну или существующей системе меню, можно использовать TPopupMenu. Этот производный от TMenu класс также отличается от него только конструктором. После создания всплывающего меню для вывода "свободно плавающего меню" можно использовать TrackPoupMenu.

В ObjectWindows 2.0 для присваивания ресурсом меню используется функция AssignMenu, которая определяется в классе TFrameWindow и доступна в любом производном классе.



Использование области списка классов


В этой области выводятся все зарегистрированные классы окон.

Чтобы просмотреть детальную информацию о классе, выделите его и

нажмите Enter или дважды щелкните на нем кнопкой "мыши".



Использование области трассировки сообщений


По умолчанию WinSignt трассирует все сообщения и выводит их



в области трассировки сообщений. Ограничить число трассируемых

сообщений можно несколькими способами:

Выберите Message Selected Classes или Messages Selected

Windows, затем выберите классы (в области списка классов)

или окна (в области дерева окон).

Выберите Message All Windows.

Выберите Message Options, затем любую из 4 групп сообщений

(см. таблицы). Выбор параметра All Messages запрещает от-

дельные подгруппы и будет трассировать все сообщения.



Использование общих диалоговых блоков


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

Каждый общий диалоговый блок имеет вложенный класс TData,

который содержит некоторые служебные функции-элементы и данные,

соответствующие каждому типу общего диалогового блока. Например,

TChooseCologDialog:TData имеет функции-элементы для выбора цветов и массив цветов. Однако TData имеют два элемента, общих для

всех вложенных классов TData. Элемент Flag представляет собой набор специальных флагов, управляющих внешним видом и поведением

диалогового блока, а Error содержит код ошибки, которая происходит при обработке общего диалогового блока, или 0.

Каждый класс общего диалогового блока имеет конструктор, которому передается указатель на объект родительского окна, ссылка

на вложенный класс TData данного класса и дополнительные необязательные параметры, содержащие шаблон диалогового блока, строку

заголовка и модуль принтера.

После построения объекта общего диалогового блока его следует выполнить (если это режимный диалоговый блок) или создать (если он безрежимный). Создание выполняется с помощью функции Create, а выполнение - Execute. К безрежимным относятся типы Color,

Font, File open, File save и Printer, а безрежимным - Find и

Find/replace. Успешность выполнения Execute проверяется по возвращаемому значению.



Использование оконных объектов


Ниже поясняется как создавать, выводить на экран и заполнять

оконные объекты, а также как строить оконные объекты, управлять

атрибутами создания и создавать интерфейсные элементы окна. Все

обсуждаемые типы окон являются примерами оконных объектов.



Использование оверлеев


Для создания программы с оверлейной структурой все ее модули

должны компилироваться с включенным параметром компилятора -Y.

Для того, чтобы сделать оверлейным конкретный модуль, его следует

компилировать с параметром -Yo. (-Yo автоматически включает параметр -Y).

Параметр -Yo распространяется на все модули и библиотеки,

следующие за ней в командной строке компилятора BCC. Отменить ее

можно, задав -Yo-. Эти два параметра являются единственными параметрами командной строки, которые могут следовать после имен файлов. Например, для того, чтобы сделать оверлейным модуль OVL.C,

но не библиотеку GRAPHICS.LIB, можно использовать любую из следующих командных строк:

BCC -ml - Yo ovl.c -Yo- graphics.lib

или

BCC -ml graphics.lib -Yo ovl.c

Если при запуске компоновщика TLINK явно задана компоновка

файла .EXE, то в командной строке компоновщика должен задаваться

параметр /o.

Предположим, вы хотите иметь оверлейную структуру в программе, состоящей из трех модулей: MAIN.C, O1.C и O2.C. Оверлеями

должны являться модули O1.C и O2.C. (Программа MAIN.C содержит

зависящие от текущего времени подпрограммы и обработчики прерываний и потому должна оставаться резидентной). Предположим, что

данная программа использует модель памяти large.

Следующая команда позволяет выполнить данную задачу:

BCC -ml -Y main.c -Yo o1.c o2.c

В результате получится выполняемый файл MAIN.EXE с двумя

оверлеями.



Использование переменных alias, как параметров


Переменные alias используются как параметры к функциям, и

обеспечивают новый путь передачи ссылок. Например,

struct rect {

int wd, ht;

}; передача указателя

V

int area(rect &r)

{

return r.wd * r.ht;

} ^

- используем селектор вместо '->'

Здесь нет нужды использовать '&'

rect r; V

int k = area(r);

Struct rect {int wd, ht;

};



Использование Rescan


Rescan - это специальное инструментальное средство работы с

проектом, которое проверяет весь перечисленный в проекте исходный

код и обновляет или перестраивает базу данных проекта (файл

.APX). Rescan просматривает в исходном коде специальные маркеры и

перестраивает информацию о ресурсах проекта. Если сканирование

было успешным, то файл базы данных проекта переименовывается в

*.~AP, и создается новый файл базы данных. В противном случае

сохраняется файл *.APX.

Rescan можно использовать для удаления класса, перемещения

класса из одного исходного класса в другой, удаления класса, обработчика, экземпляра переменной или идентификатора диалога, импорта класса из другого объекта AppsExpert или переформирования

запорченного файла базы данных проекта (*.APX).



Использование с ClassExpert Resource Workshop


Resource Workshop используется как заданное по умолчанию

средство просмотра сценария ресурсов (.RC). При запуске Resource

Workshop из ClassExpert (щелчком правой кнопкой "мыши" или выбором Edit dialog или Edit menu) Resource Workshop автоматически

загружает для данного приложения файл .RC.

При использовании Resource Workshop с исходным кодом, сгенерированным AppsExpert, запускайте Resource Workshop из ClassExpert, так как Resource Workshop и ClassExpert при внесении изменений в проект обновляют другу друга. При запуске Resource Workshop он проверяет исходный код ресурса на наличие изменений и посылает обновления в ClassExpert.



Использование Source Pool


Source Pool - это набор узлов. Цель для них не строится, но

их можно использовать при построении. Source Pool позволяет различным целям использовать общий набор исходного кода. Например, с

помощью Source Pool можно создать два целевых приложения - 16- и

32-разрядное. Подобные примеры вы можете найти проекте SRCPOOL.IDE в каталоге EXAMPLES\IDE\SRCPOOL.

Наборы Source Pool могут содержать несколько файлов, которые

можно копировать в проект по ссылке. Source Pool полезно использовать для нескольких проектов нужно назначить один стилевой шаблон Style Sheet.

Назад | Содержание | Вперед



Использование средств проверки допустимости данных


Чтобы использовать объекты проверки допустимости данных, вы

должны сначала построить редактируемый управляющий элемент, затем

объект проверки допустимости, и присвоить этот объект редактируемому управляющему элементу. Редактируемый управляющий элемент

знает, в какие моменты нужно вызывать функции-элементы объекта

проверки допустимости.

Редактируемые управляющие элементы являются экземплярами

класса TEdit. Так как объекты проверки допустимости не являются

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

данных, указывающих на объект проверки допустимости. Полный пример, показывающий использование стандартных объектов проверки допустимости, вы можете найти в OWLAPI\VALIDATE.



Использование TLINK c BCC.EXE


Параметры и файлы для компоновщика вы можете указать в командной строке компиляторов BCC и BCC32, указав явные расширения

.OBJ и .LIB. BCC запускает TLINK с файлами C0WS.OBJ, CWS.LIB и

IMPORT.LIB (модуль инициализации, библиотека исполняющей системы

и библиотека импорта Windows). BCC32 запускает TLINK32 с файлами

C0W32.OBJ, CW32.LIB и IMPORT32.LIB.



Использование TOUCH.EXE


Иногда требуется вызвать принудительную перекомпиляцию или

построение целевого файла, даже если он еще не изменялся. Это

можно сделать с помощью утилиты TOUCH, которая изменяет дату и

время одного или более файлов на текущие дату и время, делая его

(их) более новым, чем файлы, от которых он зависит.

Вы можете также вынудить MAKE перестроить целевой файл, изменив один из файлов, от которых он зависит. Для этого наберите в

командной строке:

TOUCH имя_файла [имя_файла]

После этого TOUCH обновляет дату и время создания файла.



Использование управляющих элементов VBX


Чтобы использовать в приложении ObjectWindows стандартные

управляющие элементы VBX, нужно выполнить следующие шаги:

В функции OwMain вызовите перед функцией Run объекта приложения функцию VBXInit. После вызова функции Run объекта

приложения вызовите функцию VBXTerm. В качестве параметра

функции VBXInit задается экземпляр приложения.

Создайте производный класс, смешивающий интерфейс базового

класса с TVbxEventHandler. Ваш базовый класс - это класс,

в котором вы хотите выводить управляющий элемент. Если вы

используете управляющий элемент в диалоговом окне, вам

нужно смешать его с TDialog.

Постройте для родительского объекта таблицу реакции, включив в нее все соответствующие события из управляющего элемента. Используйте для этого макрокоманду EV_VBXEVENTNAME.

Создайте родительский объект управляющего элемента. Управляющий элемент можно построить управляющий элемент при

создании родительского окна или позволить родительскому

объекту самому построить управляющий элемент.



Использование утилиты DFA с файлом WINSPCTR.BIN


При использовании файла WINSPCTR.BIN утилита DFA делает доступной следующую дополнительную информацию:

переменные в стеке, добавленные в файл регистрации, включая структуры и массивы;

для функции перечисляются типы переменных, значения и адреса.

При наличии файла отладчика .TDS для каждого кадра стека

утилита DFA сообщает:

Секция 1:

исходный файл;

локальные переменные;

параметры.

Секция 2:

имя модуля для задачи, вызвавшей сбой;

имена файлов;

логические сегменты;

их сегменты;

где находятся их данные и код.

Секция 3:

глобальные переменные;

статические переменные;

их значения во время исключительной ситуации.

Синтаксис: DFA [параметр] WINSPCTR.LOG [WINSPCTR.BIN]

Необходим файл WINSPCTR.LOG. При его наличии вы получаете

информацию об исходном файле и номерах строк. При наличии файла

WINSPCTR.BIN (который не обязателен) вы получите дополнительную

информацию о переменной.

Параметр Действие

/O[выходной_файл] Переименовывает выходной файл (по умолчанию DFA.OUT).
/D Вынуждает DFA записывать шестнадцатиричный дамп сохраненных сегментов данных.



Использование утилиты DFA с WINSPCTR.LOG


При использовании только с файлом WINSPCTR.LOG утилита DFA

дает минимальную информацию трассировки стека, такую как адреса.

Когда в выполняемом файле или в отдельном файле присутствует информация отладчика (файл .TDS), к отчету добавляются имена исходных файлов и номера строк.



Использование в качестве макрокоманд переменных среды


Если вы вызываете макрокоманду, для которой "имя_макрокоманды" еще не определено в формирующем файле или в командной строке,

утилита MAKE будет пытаться найти "имя_макрокоманды", как переменную операционной среды DOS. Если MAKE находит ее в операционной среде, то текстом макрорасширения будет значение этой переменной операционной среды.

Если не был задан параметр -e, то макрокоманды, определенные

в формирующем файле или в командной строке, переопределяют переменные операционной среды с тем же именем.



Использование WinSpector


Перед использованием WinSpector убедитесь, что TOOLHELP.DLL

(из Windows 3.1 или старше) задана в маршруте. Для надежности не

используйте параллельно с WinSpector других инструментальных

средств отладки (кроме Turbo Debugger). TOOLHELP.DLL - это библиотека Windows, которая обеспечивает для утилит доступ к системной информации нижнего уровня. WinSpector использует TOOLHELP.DLL

при возникновении исключительной ситуации для получения системной

информации, которая будет записана в файл регистрации.

Простейший способ использования WinSpector состоит в помещении его в секцию "load=" вашего файла WIN.INI file. До запуска

WinSpector будет минимизирована. Дополнительного взаимодействия с

ним не требуется. Есть и альтернативные способы, например, можно

также включить WinSpector в группу запуска Windows или дважды

щелкнуть "мышью" на пиктограмме WinSpector для запуска ее после

загрузки Windows.

В случае исключительной ситуации (UAE или GPF) WinSpector

создает отчет - текстовый файл WINSPCTR.LOG, а также двоичный

файл WINSPCTR.BIN, который с помощью утилиты DFA можно транслировать в текстовый файл DFA.OUT. В случае особой ситуации WinSpector выводит диалоговое окно с кратким описанием. Чтобы удалить

окно и прочесть файл регистрации, щелкните "мышью" на OK.



Используемые по умолчанию макрокоманды диагностики


Макрокоманда Назначение

CHECK Выводит заданное в аргументе условие и генерирует исключительную ситуацию, если это условие равно 0. Используйте ее для проверки

значений в функции.

PRECONDITION Выводит заданное в аргументе условие и генерирует исключительную ситуацию, если это условие равно 0. Используйте ее для проверки

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

корректности вызова функции.

TRACE Выводит заданное в аргументе сообщение. Используется для вывода общих сообщений, не зависящих от конкретного условия.
WARN Выводит заданное сообщение, если определенное

в аргументе условие не равно 0. Используется

для условного вывода сообщений.



Итераторы контейнера


Каждый контейнер имеет соответствующий класс итераторов, которые предназначены для итерации конкретного вида контейнера.

Например, итератор класса TArrayAsVector имеет соответствующий

итератор TArrayAsVectorIterator, который отвечает за итерацию по

всем элементам массива. Итератор контейнера реализуют для контейнера операции пред- и постинкрементации ++, а также функцию-элемент Current, возвращающую текущий объект, и функцию-элемент Restart, перезапускающую итерацию.



Изменение режима просмотра проекта


В окне проекта по умолчанию выводится имя проекта, цель и

зависимость файлов. Управлять выводом можно с помощью Options Enviroment.

Выберите Options Enviroment. Выведется диалоговое окно Enviroment Options.

Выберите Project View. Выведется список параметров.

Выберите или отмените нужные параметры:

Параметр Что выводится

Build translator Используемый для узла транслятор.
Code size Общий размер сегментов кода в байтах

(выводится после компиляции).

Data size Общий размер сегментов данных в байтах

(выводится после компиляции).

Description Описание узла.
Location Маршрут связанного с узлом исходного файла.
Name Имя узла.
Number of lines Число строк в связанном с узлом файле

(после компиляции кода).

Node type Тип узла.
Style Sheet Связанную с узлом таблицу стилей.
Output Именует файл, создаваемый узлом при его

трансляции.

Show runtime nodes Узел в администраторе проекта, используемый при построении проекта.
Show protect node Узел для всего проекта. Узел проекта

строится при выборе Project Build all.



Изучение ООП на маленьком примере


Одно из важных достоинств Borland C++ в том, что вы можете изучить новые возможности ООП, не отказываясь от уже приобретенных ранее

знаний. Фактически, мы собираемся сейчас потренировать на маленьком

упражнении, превращающем программу на языке Си в объектно-ориентированную С++ программу



Явные и неявные правила


Явные и неявные правила, инструктирующие MAKE, в общем случае определяются следующим образом:

Явные правила дают MAKE инструкции для конкретных файлов.

Неявные правила дают MAKE инструкции, которым она следует,

когда не может найти явное правило.

Правило имеет следующий общий формат:

Строка зависимости

Команды

.

.

.

Строка зависимости для явных и неявных правил отличается, но

команды одни и те же. MAKE поддерживает несколько правил на одну

цель. После первого явного правила вы можете добавить файл, от

которого зависит цель, например:

Target1: dependent1 dep2 dep3 dep4 dep5

Target2: dep6 del7 del8

bcc -c $**



Экран пользователя


Экран пользователя показывает полный экран вывода вашей

программы. Этот экран имеет такой же вид, как при выполнении

программы без Turbo Debugger. Чтобы переключиться в этот экран,

выберите команду Window User Screen. Для возврата в экран отладчика нажмите любую клавишу.



Экспорт и импорт функций


Чтобы сделать функции DLL доступными для других приложений

(.EXE или других DLL), имена функций должны экспортироваться.

Чтобы использовать экспортированные функции, нужно импортировать

их мена. Экспорт функций выполняется двумя способами:

Создается файл определения модуля с секцией EXPORTS, в которой перечисляются все функции, используемые в других

приложениях. Это можно сделать с помощью инструментального

средства IMPDEF.

Перед именем каждой функции DLL, которая должна экспортироваться, можно указать ключевое слово _export (в определении функции). Кроме того, при построении или компоновке

DLL в IDE нужно выбрать корректный параметр генерации кода

или задать корректную командную строку компилятора.

Чтобы функция могла импортироваться другим приложением или

DLL, она должна описываться как экспортируемая из DLL. Вы должны

также указать компоновщику, что хотите импортировать эти функции.

Это можно сделать тремя способами:

Добавить в файл определения модуля секцию IMPORT и перечислить в ней каждую функцию DLL, которую будет использовать данный модуль.

Включить библиотеку импорта при компоновке модуля. IMPLIB

позволяет создать библиотеку импорта для одной или более

DLL.

Можно определить функцию с помощью ключевого слова _import

(только для 32-разрядных приложений).

Функции DLL не компонуются непосредственно с приложением

Windows. Они вызываются на этапе выполнения. Это означает, что

такие функции должны иметь дальний тип вызова (так как DLL будет

иметь другой сегмент кода). Используемые функцией DLL данные также должны иметь дальний тип.

Чтобы функцию можно было использовать в приложении, она

должна также компилироваться как доступная для экспорта и затем

экспортироваться. Для этого вы можете скомпилировать DLL так,

чтобы все функции в ней были экспортируемыми (параметр -WD), и

указать перед ними ключевое слово _export.

Если вы компилируете DLL с большой моделью памяти (дальний

код, дальне данные), то вам не нужно явным образом определять в

DLL дальний тип функции или ее данных.



Экспорт и импорт классов


Чтобы использовать в DLL классы, класс требуется экспортировать из DLL и импортировать в файл .EXE. Для этого можно использовать условное макроопределение. Например, в файл заголовка можно включить следующее:

#if defined (BUILD_DLL)

#define _MY_CLASS _export

#elif defined(USE_DLL)

#define _MY_CLASS _import

#else

#define _MY_CLASS

#endif

В своих определения определите классы следующим образом:

class _MY_CLASS class {

...

};

При построении DLL определите BUILD_DLL (например, с помощью

параметра -D). Макрокоманда _MY_CLASS будет расширяться в _import. Определите _MY_DLL при построении файла .EXE, который будет

использовать DLL. Макрокоманда _MY_CLASS будет расширяться в _import.



Элементы данных


openprot Заданная по умолчанию защита файла. Определяет разрешение чтения из файла и записи в файл.



Элементы данных


adjustfield Эти константы используются в качестве второго
basefield параметра функции self. Они задают выравнива floatfield ние, систему счисления и формат числа.
seek_dir Направление установки в потоке.
open_mode Режим потоковой операции.
*pb Соответствующий streambuf.
x_fill Символ заполнения для вывода.
x_flags Битовые флаги форматирования.
x_precision Точность выводимых чисел с плавающей точкой.
state Текущее состояние streambuf.
*x_tie Связанный ostream (если он существует).
x_width Ширина поля при выводе.



Элементы данных


bp Указатель на буфер потока.
state Флаги состояния формата.



Элементы данных


KeyData Класс, переданный в шаблон пользователем.
ValueData Значение класса, переданного в шаблоне пользователем.



Элементы данных


Data Вектор, содержащий данные очереди.

Left Индекс левого элемента самого левого элемента

очереди.

Right Индекс левого элемента правого левого элемента очереди.

Элементы данных

HashTable Реализует лежащую в основе таблицу хеширования.



Элементы данных


data Объект данных, содержащихся в двунаправленном

списке.

Next Указатель на следующий элемент в двусвязанном

списке.

Prev Указатель на предыдущий элемент в двунаправленном списке.



Элементы данных


Head Начальный элемент двусвязанного списка.
Tail Конечный элемент двусвязанного списка.



Элементы данных


data Содержащийся в списке объект данных.
Next Указатель на следующий элемент списка.



Элементы данных


Head Tail Элементы перед первым и после последнего элемента списка.



Элементы данных


FileNull Представляет нулевой описатель файла.
O_RONLY, O_RDWR, O_WRONLY,
O_CREAT | O_TRUNC,
O_CREAT | O_EXCL, O_APPEND,
SH_COMPAT, SH_DENYNONE,
SH_DENYRD, SH_DENYWR, O_NOINHERIT
Режимы трансляции файла и совместного использования.
S_READ, S_WRITE, S_IREAD | S_WRITE Полномочия на чтение и запись.



Элементы данных


RefDate Минимальная допустимая дата (1 января 1901

года).

MaxDate Максимально допустимая дата для объектов TTime.



Элементы данных


CmdLine Указывает на копию аргументов командной строки, передаваемых при построении объекта данного класса.
cmdShow Указывает вывод окна в полный размер или в виде пиктограммы.
HAccTable Используется для обратной совместимости.
hPrevinstance Указатель на выполняемый ранее экземпляр приложения Windows.



Элементы данных


enum StockId Перечисляет атрибуты объекты кистей.
Stocks[] Единый статический массив перьевых объектов

Windows, обслуживающий все объекты TBrush.



Элементы данных


IsDefPB Указывает, нужно ли кнопку рассматривать как

заданную по умолчанию. Используется для командных кнопок, изображаемых пользователем.



Элементы данных


TShadowStyle Перечисляет стили теней командной кнопки

enum (двойная или одинарная).

TState enum Перечисляет три позиции кнопки (нажата, отжата и в неопределенном состоянии).
TType enum Перечисляет типы командных кнопок (с зависимой или независимой фиксацией).
BitmapOrigin Указывает на координаты x и y битового массива для данной командной кнопки.
NotchCorners Инициализируется значением 1 и равно 1, если

кнопка не имеет скошенные углы.

Pressed Инициализируется 1 и равно 0 при нажатии кнопки.
Repeat Инициализируется 1 и хранит значения клавиатурных событий.
ResldСодержит идентификатор ресурса для битового

массива командной кнопки.

ShadowStyle Содержит стиль тени для кнопки (1 - одинарная

и 2 - двойная).

StateСодержит состояние кнопки (нажата, отжата, не

определено).

Type Содержит тип кнопки ( командная, с зависимой

или независимой фиксацией).

UIOBitmap Содержит связанный с кнопкой битовый массив



Элементы данных


Bitmap Указывает на битовый массив.
CSizeРазмер ячейки в массиве.
Offs Смещение верхнего левого угла ячейки массива

от верхнего левого угла битового массива.

ShouldDelete Равно True, если деструктор должен удалить битовый массив, связанный с массивом ячеек.



Элементы данных


GroupЕсли кнопка с независимой фиксацией принадлежит к групповому блоку (TGroupBox), то Group указывает на этот объект. Иначе это 0.



Элементы данных


cc Содержит длину структуры TChooseColorDialog,

владельца данного диалогового окна и блок данных с шаблоном диалога. Указывает также на

массив из 16 RGB-значений.

Data Ссылка на переданный конструктору объект

TData.

SetRGBMsgId Содержит идентификатор переданного SetRGBColor

зарегистрированного сообщения.

DialogFunction Возвращает True, если сообщение обработано.
DoExecute Копирует флаги и цвета в Data и возвращает 0.
EvSetRGBColor Отвечает на переданное SetRGBColor сообщение (обработчик событий).



Элементы данных


ColorЭлемент структуры TData, задающий цвет, выбранный при создании диалогового окна, и содержащий выбор пользователя при его закрытии.
CustColors Указывает на массив из 16 цветов (элемент

TData).

ErrorОшибка, содержащая один из кодов CommDlgExtendedError.
FlagsСочетание констант API Windows.



Элементы данных


cf Содержит атрибуты шрифтов, которые ObjectWindows передает функции API Windows Closefont.
Data Ссылка на переданный в конструкторе объект

TData.

ColorУказывает (в структуре ChooseFontDialog) цвет

шрифта при создании диалогового окна или выбранный пользователем цвет.

DC Описатель контекста устройства для получения

шрифтов (в ChooseFontDialog).

ErrorСодержит коды ошибок (в ChooseFontDialog).
FlagsКомбинация констант API Windows (в ChooseFontDialog).
LogFont Атрибуты шрифта (в ChooseFontDialog).
PointSize Размер шрифта в пунктах (в ChooseFontDialog).
PointType Тип шрифта или имя.
StyleСтиль шрифта - жирный, наклонный и т.д. (в

ChooseFontDialog).

SizeMax Максимальный размер шрифта.
SizeMin Минимальный размер шрифта.



Элементы данных


DefaultProtocol Указывает на строку, определяющую имя необходимого клиентам протокола.
IsOpen Возвращает True, если буфер Clipboard открыт.
TheClipboard Защищенный элемент данных.



Элементы данных


HWndNext Задает следующее окно в цепочке просмотра буфера Clipboard.



Элементы данных


BlackСтатический объект TColor c фиксированным значением Value, установленным RGB(0,0,0).
Gray Содержит статический объект TColor c фиксированным значением Value, установленным в RGB(128,128,128).
LtBlue Содержит статический объект TColor c фиксированным значением Value, установленным в RGB(0,0,255).
LtCyan Содержит статический объект TColor c фиксированным значением Value, установленным в RGB(0,255,255).
LtGray Содержит статический объект TColor c фиксированным значением Value, установленным RGB(192,192,192).
LtGreen Содержит статический объект TColor c фиксированным значением Value, установленным в RGB(0,255,0).
LtMagenta Содержит статический объект TColor c фиксированным значением Value, установленным в RGB(255,0,255).
LtRedСодержит статический объект TColor c фиксированным значением Value, установленным в RGB(255,0,0).
LtYellow Содержит статический объект TColor c фиксированным значением Value, установленным в RGB(255,255,0).
WhiteСодержит статический объект TColor c фиксированным значением Value, установленным в RGB(255,255,255).
ValueЗначение цвета для данного объекта TColor.