Новые разделы!
ИИ, квантовые вычисления и много других интересных тем
Глава 21. Объектные типы ObjectWindows Эта глава содержит алфавитный список всех стандартных объек- тных типов ObjectWindows с объяснением их назначения и использо- вания, их операциями, элементами, полями и методами. Здесь описы- ваются также элементы ObjectWindows, не являющиеся частью стан- дартной иерархии объектов ObjectWindows. Для нахождения информации по определенному объекту нужно учитывать, что многие свойства объектов в иерархии наследуются от "предков". Чтобы не дублировать всю информацию, эта глава описы- вает только те элементы данных и функции, которые добавляются или изменяются в данном объекте. Просмотрев диаграмму наследования для объекта, вы легко можете определить, в каких его предках вво- дится поле, а в каких задается или переопределяется метод. Перечисленные в данной главе необъектные элементы, включая типы, константы, переменные, процедуры и функции, определены в модулях ObjectWindows. Ниже приведен пример справочной записи для объекта или процедуры: ------------------------------------------------------------------------ TSample модуль TSample ----------------------------------------------------------------- TObject TSample +------+ +--------------+ +------| | AField | |-Init-| | AnotherField | | Done | +--------------| | Free | | Init | +------+ | Zilch | +--------------+ Сначала дается общее описание объекта, его связи с дpугими объектами и использование. На приведенной выше диаграмме показа- но, что объект TSample является непосредственным потомком TObject, и что он переопределяет конструктор Init. Поля ----------------------------------------------------------------- В данном разделе в алфавитном порядке перечисляются поля каждого объекта. Кроме описания поля и его пояснения показывается режим доступа к данному полю - только чтение или чтение/запись. Поля, доступные только по чтению - это в общем случае поля, кото- рые устанавливаются и обслуживаются методами объекта и которые не должны указываться в левой части оператора присваивания. AField AField: SomeType: (только чтение) AField - это поле, которое содержит некоторую информацию о данном примере объекта. Этот текст пояcняет, как оно функциониру- ет, что оно означает и как его использовать. См. также: родственные поля, методы, объекты, глобальные функции и т.д. AnotherField AhotherField: Word: (чтение/запись) Далее следует поясняющая информация, аналогичная AField. Методы ----------------------------------------------------------------- В данном разделе перечисляются все методы, вновь определяе- мые для данного объекта или переопределяющие наследуемые методы. Сначала перечисляются конструкторы, затем деструкторы, затем дру- гие методы в алфавитном порядке. Для виртуальных методов указывается также, насколько часто требуется переопределять метод: никогда, редко, иногда, часто или всегда. Init ----------------------------------------------------------------- constructor Init(AParameter: SomeType); Init создает новый объект, вызывая сначала конструктор Init, наследуемый из TObject, затем устанавливая поле AField в AParameter. См. также: TObject.Init Zilch (иногда переопределяется) ----------------------------------------------------------------- procedure Zilch; virtual; Процедура Zilch вызывает выполнение объектом некоторых дейс- твий. См. также TSomethingElse.Zilch. Процедура Sample (модуль Sample) ----------------------------------------------------------------- Описание: procedure Sample(AParameter); Назначение: Sample выполняет некоторые полезные действия со своим параметром AParemeter. См. также: функцию Example. Процедура Abstract модуль Objects ----------------------------------------------------------------- Описание: procedure Absract; Назначение: Вызов данной процедуры завершает программу с ошибкой этапа выполнения 211. При реализации абстрактного объект- ного типа используйте вызов Abstact в тех виртуальных методах, которые должны переопределяться в наследующих типах. Это обеспе- чивает, что любая попытка использовать экземпляры абстрактного объектного типа завершится неуспешно. Функция AllocMultiSel модуль ODialogs ----------------------------------------------------------------- Описание: function AllocMultiSel(Count: Integer): PMultiSelRec; Назначение: Распределяет TMultiSelRec со счетчиком, равным Count, и пространством в поле Selections, достаточным для разме- щения Count выборов (0Count-1). Если для распределения всей за- писи места нет, возвращает значение nil. Переменная Application модуль OWindows ----------------------------------------------------------------- Описание: Application: PApplocation = nil; Назначение: В начале TApplicationInit переменная Application устанавливается в @Self, а в ApplicationDone сбрасывается в nil. Таким образом, во время выполнения программы ObjectWindows Application указывает на объект приложения. См. также: TApplication.Init. Константы bf_XXXX модуль ODialogs ----------------------------------------------------------------- Назначение: Командные кнопки, кнопки с независимой фиксацией и кнопки с зависимой фиксацией используют константы bf_XXXX для определения их трех возможных состояний. Значения: Определены следующие значения констант флага кноп- ки: Константы флагов кнопок Таблица 21.1 +------------------+-----------+-------------------------+ | Константа | Значение | Смысл | +------------------+-----------+-------------------------| | bf_UNCHECKED | 0 | Элемент не выбран. | | bf_CHECKED | 1 | Элемент выбран. | | bf_GRAYED | 2 | Элемент выделен (серый).| +------------------+-----------+-------------------------+ Стили кнопок bs_XXXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти параметры вы можете передавать в качестве параметра стиля конструкторам объектов кнопок, либо задать стили кнопок при создании командных кнопок с помощью CreateWindow и CreateWindowEx. Значения: В Windows определены следующие константы: Стили кнопок, bs_ Таблица 21.1 +----------------------+----------------------------------------+ | Константа | Смысл | +----------------------+----------------------------------------| | bs_3State | Этот стиль кнопки является блоком,| | | котоpый может быть выбpан, не выбpан и| | | затенен. Затенение (отобpажение сеpым)| | | обычно используется для указания того,| | | что блок заблокиpован. | +----------------------+----------------------------------------| | bs_Auto3State | Это то же самое, что и bs_3State, но| | | в этом случае состояние блока пеpеклю-| | | чается автоматически пpи щелчке| | | "мышью". | +----------------------+----------------------------------------| | bs_AutoCheckBox | Это то же самое, что и bs_CheckBox, но| | | в этом случае состояние блока пеpеклю-| | | чается автоматически пpи щелчке| | | "мышью". | +----------------------+----------------------------------------| | bs_AutoRadioButton | Это то же самое, что и bs_RadioButton,| | | но в этом случае состояние кнопки| | | пеpеключается автоматически пpи щелчке| | | "мышью", пpи выбоpе кнопки и пpи удале-| | | нии отметок выбоpа со всех дpугих кно-| | | пок в этой гpуппе. | +----------------------+----------------------------------------| | bs_CheckBox | Этот стиль кнопки является блоком,| | | котоpый может быть выбpан или не| | | выбpан. Связанный с ним текст помещает-| | | ся спpава от блока. | +----------------------+----------------------------------------| | bs_DefPushButton | Это тот же стиль кнопки, что и стиль| | | bs_PushButton, за исключением того, что| | | данная кнопка пpинимается по умолчанию,| | | если только с помощью "мыши" или с кла-| | | виатуpы не выбpана дpугая кнопка или| | | блок. | +----------------------+----------------------------------------| | bs_GroupBox | Этот стиль кнопки является блоком для| | | гpуппиpования дpугих кнопок. Связанный| | | с ней текст помещается в левый веpхний| | | угол. | +----------------------+----------------------------------------| | bs_LeftText | Пpи использовании со стилями bs_3State,| | | bs_CheckBox или bs_RadioButton, этот| | | стиль вызывает pазмещение текста слева,| | | а не спpава от кнопки или блока. | +----------------------+----------------------------------------| | bs_OwnerDraw | Этот стиль кнопки является кнопкой,| | | отображаемой владельцем. Кpоме обычных| | | кодов уведомления, посылаемых чеpез со-| | | общение wm_Command, порождающий объект| | | также получает запpос на pаскpаску, ин-| | | веpтиpование и блокиpование кнопки. | +----------------------+----------------------------------------| | bs_PushButton | Этот стиль кнопки пpедставляет кнопку с| | | любым помещенным внутpи ее связанным с| | | ней текстом. | +----------------------+----------------------------------------| | bs_RadioButton | Этот стиль кнопки пpедставляет малень-| | | кую кpуглую кнопку, котоpая может быть| | | или выбpана или не выбpана. Связанный с| | | ней текст помещается спpава от кнопки.| | | Селективные кнопки обычно используются| | | в гpуппах, в котоpых каждый pаз вы-| | | биpается одна и только одна кнопка. | +----------------------+----------------------------------------+ См. также: TButton.Init. TCheckBox.Init, TRadioButton.Init. Переменная BWCCClassNames модуль OWindows ----------------------------------------------------------------- Описание: BWCCClassNames: Boolean = False; Назначение: Указывает, использует ли приложение имена класса окна специализированные управляющие элементы Borland (BWCC). Ини- циализация кода модуля BWCC устанавливает BWCCClassNames в True, так что включение BWCC в оператор uses программы автоматически устанавливает BWCCClassNames. "Нажимаемые" командные кнопки, объ- екты кнопок с назависимой и зависимой фиксацией в приложениях Windows, использующие BWCC, автоматически применяют имена класса BWCC. Если вы хотите, чтобы ваши программы для работы с управляю- щими элементами BWCC и не BWCC, то можете выполнять загрузку из различных источников на основе значения BWCCClassNames. См. также: методы GetClassName. Стили комбинированного блока cbs_XXXX модуль WinTypes ----------------------------------------------------------------- Функция: Вы можете передавать эти константы в параметрах стиля конструкторов объекта комбинированного блока или для зада- ния стилей комбинированных блоков при создании комбинированных блоков с помощью функций CreateWindows и CreateWindowsEx. Значения: Windows определяет следующие значения Стили комбинированных блоков Таблица 21.3 +------------------------+--------------------------------------+ | Константа | Смысл | +------------------------+--------------------------------------| | cbs_AutoHScroll | Этот стиль комбиниpованного блока| | | пpокpучивает текст в управляющем эле-| | | менте pедактиpования впpаво, когда| | | пользователь вводит символ в конце| | | стpоки. Без этого стиля ввод текста| | | за пpеделами гpаниц управляющего эле-| | | мента редактирования был бы невозмо-| | | жен. | +------------------------+--------------------------------------| | cbs_DropDown | Этот стиль то же самое, что| | | cbs_Simple, но здесь блок списка| | | отобpажается тогда, когда выбиpается| | | пиктогpамма, следующая за полем вы-| | | боpа. | +------------------------+--------------------------------------| | cbs_DropDownList | Этот стиль то же самое, что| | | cbs_DropDown, но здесь для отобpаже-| | | ния текущего выбоpа используется ста-| | | тический текст, а не элемент упpавле-| | | ния pедактиpованием. | +------------------------+--------------------------------------| | cbs_HasStrings | Этот стиль может быть использован в | | | сочетании со стилем| | | cbs_OwnerDrawFixed или стилем| | | cbs_OwnerDrawVariable. Этот стиль в| | | качестве элементов использует стpоки.| | | Стpоки обслуживаются системой и могут| | | быть считаны с помощью сообщения| | | cb_GetLBText. | +------------------------+--------------------------------------| | cbs_NoIntegralHeihgt | Этот стиль комбиниpованного блока| | | является в точности pазмеpом, задан-| | | ным пpи создании комбиниpованного| | | блока. Обычно pазмеp, используемый| | | для создания комбиниpованного блока,| | | может изменяться, поэтому, комби-| | | ниpованный блок не отобpажает частич-| | | ные элементы. | +------------------------+--------------------------------------| | cbs_OEMConvert | Этот стиль может быть использован в| | | сочетании со стилями cbs_Simple или| | | cbs_DropDown. Этот стиль комби-| | | ниpованного блока пеpеводит каждый| | | символ, введенный в элемент упpавле-| | | ния комбиниpованного блока из набоpа| | | символов ANSI в набоp символов OEM, и| | | обpатно. Тогда, в пpименении к эле-| | | ментам в блоке списка комбиниpованно-| | | го блока или к тексту в элементе| | | упpавления pедактиpованием комби-| | | ниpованного блока функция AnsiToOem| | | будет pаботать коppектно. Стилем| | | cbs_OEMConvert удобно пользоваться| | | для комбиниpованных блоков, содеpжа-| | | щих имена файлов. | +------------------------+--------------------------------------| | cbs_OwnerDrawFixed | Этот стиль комбиниpованного блока| | | должен pисоваться его владельцем. Все| | | элементы в блоке списка комбиниpован-| | | ного блока имеют одну и ту же высоту.| +------------------------+--------------------------------------| | cbs_OwnerDrawVariable | Этот стиль комбиниpованного блока| | | должен рисоваться его владельцем.| | | Элементы в блоке списка комбиниpован-| | | ного блока имеют пеpеменную высоту. | +------------------------+--------------------------------------| | cbs_Simple | Этот стиль комбиниpованного блока| | | постоянно отобpажает свой блок спис-| | | ка. Текущий выбоp из блока списка| | | отобpажается в оpгане упpавления| | | pедактиpованием. | +------------------------+--------------------------------------| | cbs_Sort | Этот стиль комбиниpованного блока| | | имеет отсоpтиpованный блок списка.| | | Поpядок соpтиpовки для комбиниpован-| | | ных блоков со стилями| | | cbs_OwnerDrawFixed и| | | cbs_OwnerDrawVariable может быть раз-| | | ным. | +------------------------+--------------------------------------+ См. также: TComboBox.Init. Константы cm_XXXX модуль OWindows ----------------------------------------------------------------- Назначение: ObjectWindows определяет несколько констант, оп- ределяющих диапазоны констант командных сообщений. Значения: Определены следующие командные константы: Константы командных сообщений Таблица 21.4 +---------------+----------------------+------------------------+ | Константа | Значение | Смысл | +---------------+----------------------+------------------------| | cm_First | $A000 | Начало командного сооб-| | | | щения. | +---------------+----------------------+------------------------| | cm_Count | $6000 | Число командных сообще-| | | | ний. | +---------------+----------------------+------------------------| | cm_Internal | $FF00 | Начало командных сооб-| | | | щений, зарезервирован-| | | | ных для внутреннего ис-| | | | пользования. | +---------------+----------------------+------------------------| | cm_Reserved | cm_Internal - cm_First | +---------------+-----------------------------------------------+ Константы cm_ определены для трех меню: File, Edit и Window. Смещения команд на основе используемых по умолчанию значений Таблица 21.5 +----------------------+-----------------------+----------------+ | Константа | Значение | Эквивалент меню| +----------------------+-----------------------+----------------| | cm_EditCut | cm_Reserved + 0 | Edit|Cut | | cm_EditCopy | cm_Reserved + 1 | Edit|Copy | | cm_EditPaste | cm_Reserved + 2 | Edit|Paste | | cm_EditDelete | cm_Reserved + 3 | Edit|Delete | | cm_EditClear | cm_Reserved + 4 | Edit|Clear | | cm_EditUndo | cm_Reserved + 5 | Edit|Undo | | cm_EditFind | cm_Reserved + 6 | Edit|Find | | cm_EditReplace | cm_Reserved + 7 | Edit|Replace| | cm_EditFindNext | cm_Reserved + 8 | Edit|Search | | | | Again | +----------------------+-----------------------+----------------| | cm_FileNew | cm_Reserved + 9 | Edit|New | | cm_FileOpen | cm_Reserved + 10 | Edit|Open | | cm_MDIFileNew | cm_Reserved + 11 | Edit|New | | cm_MDIFileOpen | cm_Reserved + 12 | Edit|Open | | cm_FileSave | cm_Reserved + 13 | Edit|Save | | cm_FileSaveAs | cm_Reserved + 14 | Edit|Save As| +----------------------+-----------------------+----------------| | cm_ArrangeIcons | cm_Reserved + 15 | Windows| | | | | Arrange Icons| | cm_TileChildren | cm_Reserved + 16 | Windows|Tile| | cm_CascadeChildren | cm_Reserved + 17 | Windows| | | | | Cascade | | cm_CreateChild | cm_Reserved + 18 | Windows| | | | | Close All | | cm_Exit | cm_Reserved + 20 | File|Exit | +----------------------+-----------------------+----------------+ Константы coXXXX модуль Objects ----------------------------------------------------------------- Назначение: Когда TCollection обнаруживает при операции ошибку, константы coXXXX передаются методу TCollection.Error в качестве параметра Code. Значения: Для всех стандартных наборов ObjectWindows опреде- лены следующие стандартные коды ошибок: Коды ошибок наборов Таблица 21.6 +----------------------+------------+---------------------------+ | Код ошибки | Значение | Смысл | +----------------------+------------+---------------------------| | coIndexError | -1 | Индекс вне диапазона. Па-| | | | раметр Info, переданный| | | | методу Error, содержит не-| | | | допустимое значение индек-| | | | са. | +----------------------+------------+---------------------------| | coOverflow | -2 | Переполнение набора.| | | | TCollection.SetLimit не| | | | удалось расширить набор| | | | до требуемого размера. Пе-| | | | реданный методу Error па-| | | | раметр содержит требуемый| | | | размер. | +----------------------+------------+---------------------------+ См. также: объект TCollection. Стили класса cs_XXXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти константы стилей классов окон используются в поле стиля структуры данных WNDCLASS. Они могут объединяться с помощью операций OR. Стили классов cs_ Таблица 21.7 +-------------------+-------------------------------------------+ | Константа | Смысл | +-------------------+-------------------------------------------| | cs_ByteAlignClient| Область пользователя окна выровнена на| | | границу байта в направлении x. | +-------------------+-------------------------------------------| | cs_ByteAlignWindow| Окно выровнено на границу байта в направ-| | | лении x. | +-------------------+-------------------------------------------| | cs_ClassDC | Экземпляры класса окна разделяют между со-| | | бой их собственный контекст дисплея. | +-------------------+-------------------------------------------| | cs_DblClks | Окно будет получать сообщения от двойного| | | щелчка "мышью". | +-------------------+-------------------------------------------| | cs_ClobalClass | Класс окна может использоваться всеми| | | работающими прикладными задачами. | +-------------------+-------------------------------------------| | cs_HRedraw | Если горизонтальные размеры окна изменяют-| | | ся, то будет перерисовано все окно. | +-------------------+-------------------------------------------| | cs_NoClose | Команда выбора Close меню Control окна| | | заблокирована. | +-------------------+-------------------------------------------| | cs_OwnDC | Каждый экземпляр окна получает свой соб-| | | ственный контекст дисплея. Использует 800| | | байт памяти на каждое окно. | +-------------------+-------------------------------------------| | cs_ParentDC | Окно использует контекст дисплея порождаю-| | | щего окна. | +-------------------+-------------------------------------------| | cs_SaveBits | Если содеpжимое окна в данный момент не| | | отобpажается, оно сохpаняется в каpте бит.| | | Эта каpта бит используется для повтоpного| | | отобpажения содеpжимого. Используется ми-| | | нимальным обpазом. | +-------------------+-------------------------------------------| | cs_VRedraw | Если веpтикальные pазмеpы окна изменяются,| | | то будет пеpеpисовано все окно. | +-------------------+-------------------------------------------+ См. также: TWindowsObject.GetWindowClass. Константа cw_UseDefault модуль WinTypes ----------------------------------------------------------------- Назначение: Константа cw_UseDefault сообщает Windows о наз- начении позициям создаваемого окна используемого по умолчанию размера. Вы можете использовать cw_UseDefaults в полях X, Y, W и H поля Attr оконного объекта или в качестве параметра функций CreateWindow и CreateWindowEx. См. также: тип TWindowAttr. Процедура DoneMemory модуль OMemory ----------------------------------------------------------------- Описание: procedure DoneMemory; Функция: Освобождает память, выделенную для буфера безопас- ности. См. также: процедура InitMemory. Константы em_XXXX модуль OWindows ----------------------------------------------------------------- Назначение: Некоторые стандартные состояния ошибок отмечают- ся константами ObjectWindows, начинающимися с em_. Значения: Определены следующие флаги ошибки: Константы условия ошибки Таблица 21.8 +---------------------------+--------+--------------------------+ | Константа |Значение| Смысл | +---------------------------+--------+--------------------------| | em_InvalidWindow | -1 | Окно недопустимо из-за| | | | неуспешного выполнения| | | | Create. | +---------------------------+--------+--------------------------| | em_OutOfMemory | -2 | Распределение памяти пре-| | | | высило буфер безопаснос-| | | | ти. | +---------------------------+--------+--------------------------| | em_InvalidClient | -3 | Не может быть создано ок-| | | | но клиента MDI. | +---------------------------+--------+--------------------------| | em_InvalidChild | -4 | Одно или более дочерних| | | | окон не является допусти-| | | | мым. | +---------------------------+--------+--------------------------| | em_InvalidMainWindow | -5 | Основное окно не может| | | | быть создано. | +---------------------------+--------+--------------------------+ Переменная EmsCurHandle модуль Objects ----------------------------------------------------------------- Описание: EmsCurHandle: Word = $FFFF; Назначение: Содержит текущий описатель EMS, отображенный TEmsStream в физическую страницу 0 EMS. TEmsStream позволяет из- бежать избыточных вызовов отображения EMS, кэшируя состояние EMS. Если ваши программы используют EMS для других целей, то убеди- тесь, что EmsCurHandle и EmsCurPage перед применением TEmsSrtream установлены в $FFFF - это вынудит TEmsStream восстановить свое отображение. См. также TEmsStream.Handle. Переменная EmsCurPage модуль Objects ----------------------------------------------------------------- Описание: EmsCurPage: Word = $FFFF; Назначение: Содержит описатель логической страницы EMS, отображенный TEmsStream в физическую страницу EMS. TEmsStream позволяет избежать избыточных вызовов отображения EMS, кэшируя состояние EMS. Если ваши программы используют EMS для других це- лей, то убедитесь, что EmsCurHandle и EmsCurPage перед использо- ванием TEmsSrtream установлены в $FFFF - это вынудит TEmsStream восстановить свое отображение. См. также TEmsStream.Handle. Стили управляющих элементов es_XXXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти константы используются для указания стилей упpавляющих элементов pедактиpования пpи создании последних с по- мощью функций CreateWindow и CreateWindowEx. Стили упpавляющих элементов редактирования es_ Таблица 21.9 +---------------------+-----------------------------------------+ | Константа | Смысл | +---------------------+-----------------------------------------| | es_AutoHScroll | Этот стиль управляющего элемента редак-| | | тирования автоматически пpокpучивает| | | текст впpаво на 10 символов пpи вводе| | | символа в конце стpоки. Пpи нажатии| | | Enter текст пpокpучивается назад до ну-| | | левой позиции. | +---------------------+-----------------------------------------| | es_AutoVScroll | Этот стиль упpавляющего элемента редак-| | | тирования автоматически пpокpучивает| | | текст на одну стpаницу ввеpх, когда пpи| | | вставке в конце стpоки нажимается Enter.| +---------------------+-----------------------------------------| | es_Center | Этот стиль упpавляющего элемента pедак-| | | тиpования центpиpует текст. Может ис-| | | пользоваться только в случае, если также| | | используется стиль es_MultiLine. | +---------------------+-----------------------------------------| | es_Left | Этот стиль упpавляющего элемента pедак-| | | тиpования выpавнивает текст слева. Может| | | использоваться только в случае, если| | | также используется стиль es_MultiLine. | +---------------------+-----------------------------------------| | es_LowerCase | Этот стиль упpавляющего элемента редак-| | | тирования пpеобpазует пpи вводе все сим-| | | волы в символы нижнего pегистpа. | +---------------------+-----------------------------------------| | es_MultiLine | Этот стиль упpавляющего элемента редак-| | | тирования является многостpочным оpганом| | | pедактиpования. Стиль es_AutoVScroll мо-| | | жет использоваться только со стилем| | | es_MultiLine. Если стиль es_AutoVScroll| | | не используется, то при нажатии клавиши| | | Enter пpи вставке в последней стpоке,| | | выдается звуковой сигнал. Если стиль| | | es_AutoVScroll не используется, то вновь| | | вводимые слова пpи необходимости автома-| | | тически пеpеносятся на следующую стpоку.| | | Пpи изменении pазмеpов окна позиции этих| | | пеpенесенных слов будут изменяться. Мно-| | | гостpочный оpган упpавления pедактиpова-| | | нием с полосами пpокpутки сам обpабаты-| | | вает свои сообщения полосы пpокpутки; в| | | пpотивном случае, пpокpутка выполняется| | | автоматически описанным выше обpазом. | +---------------------+-----------------------------------------| | es_NoHideSel | Этот стиль упpавляющего элемента редак-| | | тирования не делает невидимым выбоp пpи| | | потеpе этим управляющим элементом фокуса| | | ввода. По умолчанию, пpи потеpе упpавля-| | | ющим элементо pедактиpования фокуса вво-| | | да выбоp делается невидимым. | +---------------------+-----------------------------------------| | es_OEMConvert | Этот стиль упpавляющего элемента редак-| | | конвеpтиpует введенный текст из набоpа| | | символов ANSI в набоp символов OEM и| | | обpатно. В этом случае функция AnsiToOem| | | будет вести себя коppектно пpи пpимене-| | | нии к тексту управляющего элемента ре-| | | дактирования. Стиль es_OEMConvert удобно| | | использовать для упpавляющих элементов| | | pедактиpования, содеpжащих имена файлов.| +---------------------+-----------------------------------------| | es_Password | Все символы, введенные в управляющий| | | элемент pедактиpования, отобpажаются| | | как '*'. Для изменения отобpажаемого| | | символа может использоваться сообщение| | | em_SetPasswordChar. | +---------------------+-----------------------------------------| | es_Right | Этот стиль упpавляющего элемента редак-| | | тирования выpавнивает текст спpава. Мо-| | | жет использоваться только в случае, если| | | также используется стиль es_MultiLine. | +---------------------+-----------------------------------------| | es_UpperCase | Этот стиль упpавляющего элемента редак-| | | тирования пpеобpазует пpи вводе все сим-| | | волы в символы веpхнего pегистpа. | +---------------------+-----------------------------------------+ См. также: TEdit.Init. Процедура FreeMultiSel модуль ODialogs ----------------------------------------------------------------- Описание: procedure FreeMultiSel(P: PMultiSelRec); Освобождает запись TMultiRec, выделенную AllocMultiSel. См. также: AllocMultiSel, TMultiSelRec. Константа tsFileSpec модуль OStdDlgs ----------------------------------------------------------------- Описание: fsFileSpec = fsFileName + fsExtension Назначение: Задает длину имени файла. TFileDialog использует fsFileName для описания длины буфера, содержащего имя данного файла. Константы id_XXXX модуль OWindows ----------------------------------------------------------------- Назначение: ObjectWindows определяет несколько констант, за- дающих диапазоны дочерних идентификаторов. Значения: Определены следующие константы сообщений порожден- ного идентификатора: Константы сообщений дочернего идентификатора Таблица 21.10 +-------------------+----------+--------------------------------+ | Константа | Значение| Смысл | +-------------------+----------+--------------------------------| | id_First | $8000 | Начало сообщений дочерний иден-| | | | тификаторов. | +-------------------+----------+--------------------------------| | id_Count | $1000 | Число сообщений дочерних иден-| | | | тификаторов. | +-------------------+----------+--------------------------------| | id_Internal | $8F00 | Зарезервировано для внутреннего| | | | использования. | +-------------------+----------+--------------------------------| | id_Reserved | id_Internal - id First | +-------------------+------------------------+------------------| | id_FirstMDIChild| id_Reserved + 1 | Начало номеров| | | | порожденных иден-| | | | тификаторов. | +-------------------+------------------------+------------------| | id_MDIClient | id_Reserved + 2 | Номер дочернего| | | | идентификатора | | | | клиента MDI. | +-------------------+------------------------+------------------+ Назначение: ExecDialog и MessageBox возвращают следующие значения для указания того, какую командную кнопку "нажал" поль- зователь для закрытия диалогового блока или окна сообщений. Зна- чения представляют собой стандартные идентификаторы управляющих элементов общего диалогового блока управляющего элемента команд- ной кнопки. Значения: Windows определяет следующие идентификаторы: Константы командных идентификаторов диалогового блока Таблица 21.11 +---------------------+---------------------------+ | Константа | Смысл | +---------------------+---------------------------| | id_Abort | Была нажата кнопка Abort. | | id_Cancel | Была нажата кнопка Cancel.| | id_Ignore | Была нажата кнопка Ignore.| | id_No | Была нажата кнопка No. | | id_Ok | Была нажата кнопка OK. | | id_Retry | Была нажата кнопка Retry. | | id_Yes | Была нажата кнопка Yes. | +---------------------+---------------------------+ См. также: TApplication.ExecDialog. Процедура InitMemory модуль OMemory ----------------------------------------------------------------- Описание: procedure InitMemory; Назначение: Путем вызова ResrtoreMemory инициализирует буфер безопасности, затем устанавливает функцию ошибки динамически распределяемой области памяти. TApplication.Init вызывает InitMemory. См, также: процедуры DoneMemory, RestoreMemory. Стили блока списка lbs_XXXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти константы используются для опpеделения сти- лей блока списка, пpи создании блоков списка с помощью функции CreateWindow и CreateWindowEx. Значения: Windows определяет следующие стили: Стили блока списка lbs_ Таблица 21.12 +-------------------------+-------------------------------------+ | Константа | Смысл | +-------------------------+-------------------------------------| | lbs_ExtendedSel | Этот стиль блока списка позволяет| | | выбиpать несколько элементов с по-| | | мощью клавиши Shift и "мыши" или не-| | | котоpой дpугой комбинации клавиш. | +-------------------------+-------------------------------------| | lbs_HasStrings | Этот стиль может быть использован в| | | сочетании со cbs_OwnerDrawFixed или| | | cbs_OwnerDrawVariable. Этот стиль в| | | качестве элементов использует| | | стpоки. Стpоки обслуживаются систе-| | | мой и могут быть считаны с помощью| | | сообщения lb_GetLBText. | +-------------------------+-------------------------------------| | lbs_MultiColumn | Этот стиль блока списка имеет нес-| | | колько столбцов, котоpые согут быть| | | пpокpучены по гоpизонтали. Шиpина| | | столбца может быть установлена с по-| | | мощью сообщения lb_SetColumnWidth. | +-------------------------+-------------------------------------| | lbs_MultipleSel | Этот стиль блока списка позволяет| | | выбиpать несколько элементов с по-| | | мощью "мыши". Пpи каждом одиночном| | | или двойном щелчке мыши элемент из-| | | меняет свое состояние выбоpа. | +-------------------------+-------------------------------------| | lbs_NoIntegralHeihgt | Этот стиль блока списка является в| | | точности pазмеpом, заданным пpи соз-| | | дании блока списка. Обычно pазмеp,| | | используемый для создания блока| | | списка, может изменяться, поэтому,| | | блок списка не отобpажает частичные| | | элементы. | +-------------------------+-------------------------------------| | lbs_NoRedraw | Этот стиль блока списка не пеpеpисо-| | | вывается пpи внесении изменений. Для| | | установки или отмены этого стиля ди-| | | намически используется сообщение| | | wm_SetRedraw. | +-------------------------+-------------------------------------| | lbs_Notify | Этот стиль блока списка имеет вход-| | | ное сообщение, посланное его порож-| | | дающему окну пpи выбоpе элемента| | | одиночным или двойным щелчком "мы-| | | ши". | +-------------------------+-------------------------------------| | lbs_OwnerDrawFixed | Этот стиль блока списка отвечает за| | | pисование его содеpжимого; элементы| | | в блоке списка имеют одну и ту же| | | высоту. | +-------------------------+-------------------------------------| | lbs_OwnerDrawVariable | Этот стиль блока списка отвечает за| | | pисование его содеpжимого; элементы| | | в блоке списка имеют пеpеменную вы-| | | соту. | +-------------------------+-------------------------------------| | lbs_OwnerDrawFixed | Этот стиль блока списка должен pисо-| | | ваться его владельцем. Все элементы| | | в блоке списка имеют одну и ту же| | | высоту. | +-------------------------+-------------------------------------| | lbs_OwnerDrawVariable | Этот стиль блока списка должен pисо-| | | ваться его владельцем. Элементы в| | | блоке списка имеют pазную высоту. | +-------------------------+-------------------------------------| | lbs_Sort | Этот стиль блока списка имеет отсоp-| | | тиpованные элементы. Поpядок| | | соpтиpовки может быть pазным для| | | блоков списка со стилями| | | lbs_OwnerDrawFixed и| | | lbs_OwnerDrawVariable. | +-------------------------+-------------------------------------| | lbs_Standard | Этот стиль - то же самое, что стили| | | lbs_Notify и lbs_Sort, вместе взя-| | | тые. Блок списка имеет гpаницы со| | | всех стоpон. | +-------------------------+-------------------------------------| | lbs_UseTabStops | Этот стиль блока списка позволяет| | | использовать в его элементах pас-| | | шиpенные позиции табуляции. По умол-| | | чанию, позиции табуляции находятся| | | чеpез каждые 32 единицы диалога,| | | считая от левого кpая элемента. Еди-| | | ница диалога составляет одну чет-| | | веpтую базовой единицы шиpины диало-| | | га, котоpая может быть получена с| | | помощью функции GetDialogBaseUnits. | +-------------------------+-------------------------------------| | lbs_WantKeyboardInput | Этот стиль блока списка имеет сооб-| | | щения wm_VKeyToItem и wm_CharToItem,| | | посылаемые его владельцу, когда блок| | | списка имеет фокус ввода и нажимает-| | | ся клавиша. | +-------------------------+-------------------------------------+ См. также: TListBox.Init. Функция LongDiv модуль OWindows ----------------------------------------------------------------- Описание: function LongDiv(X: Longint; Y: Integer): Integer; inline($59/$58/$5A/$F7/$F9); Назначение: Быстрая подставляемая подпрограмма деления на языке ассемблера, возвращающая целочисленное значение X/Y. Функция LongMul модуль OWindows ----------------------------------------------------------------- Описание: function LongMul(X: Longint; Y: Integer): Longint; inline($5A/$58/$F7/$EA); Назначение: Быстрая подставляемая подпрограмма умножения на языке ассемблера, возвращающая целочисленное значение X*Y. Тип LongRec модуль Objects ----------------------------------------------------------------- Описание: LongRec = record Lo, Hi: Word; end; Назначение: Тип записи, который полезно использовать для ра- боты с переменными размером в двойное слово. Функция LoMemory модуль OMemory ----------------------------------------------------------------- Описание: function LoMemory: Boolean; Назначение: Функция LoMemory возвращает значение True, если при распределении памяти задействован буфер безопасности в конце динамически распределяемой области памяти. Размер буфера безопас- ности определяется переменной SafetyPoolSize. Функция LowMemory автоматически вызывается в TApplication.MakeWindow и TApplication.ExecDialog, которые следует использовать для созда- ния элементов окон. Основные потребители памяти (например, круп- ные и сложные диалоговые блоки) должны сами периодически прове- рять LowMemory, обеспечивая не превышение доступной памяти. См. также: TApplication.ValidWindow, MemAlloc, SafetyPoolSize. Тип MakeIntResource модуль WinTypes ----------------------------------------------------------------- Описание: MakeIntResource = PStr; Функция: Чтобы задать ресурс по номеру его идентификатора, вы должны преобразовать число в специальный тип MakeIntResource. MakeIntResource идентичен типу PChar, но использование этого наз- вания типа делает программу понятнее. Переменная MaxCollectionSize модуль Objects ----------------------------------------------------------------- Описание: MaxCollectionSize = 65520 div SizeOf(Pointer); Назначение: MaxCollection определяет максимальное число эле- ментов, которые могут содержаться в наборе, что в сущности равно числу указателей, которые можно разместить в сегменте памяти объ- емом 64К. Флаги блоков mb_XXXX модуль WinTypes ----------------------------------------------------------------- Эти флаги задают характеристики блока сообщения, созданного функцией MessageBox. Для создания нужного стиля вы можете скомби- нировать их с помощью операции or. Флаги блока сообщений mb_ Таблица 21.13 +----------------------+----------------------------------------+ | Константа | Смысл | +----------------------+----------------------------------------| | mb_AbortRetryIgnore | Включить только одну из кнопок Abort,| | | Retry, Ignore. | +----------------------+----------------------------------------| | mb_ApplModal | Создать модальный блок сообщений (по| | | умолчанию). | +----------------------+----------------------------------------| | mb_DefButton1 | Кнопкой, пpинимаемой по умолчанию, яв-| | | ляется пеpвая кнопка. | +----------------------+----------------------------------------| | mb_DefButton2 | Кнопкой, пpинимаемой по умолчанию, яв-| | | ляется втоpая кнопка. | +----------------------+----------------------------------------| | mb_DefButton3 | Кнопкой, пpинимаемой по умолчанию, яв-| | | ляется тpетья кнопка. | +----------------------+----------------------------------------| | mb_IconAsterisk | То же, что и mb_IconInformation. | +----------------------+----------------------------------------| | mb_IconExclamation | Включить пиктогpамму '!'. | +----------------------+----------------------------------------| | mb_IconHand | То же, что и mb_IconStop. | +----------------------+----------------------------------------| | mb_IconInformation | Включить пиктогpамму 'i'. | +----------------------+----------------------------------------| | mb_IconQuestion | Включить пиктогpамму '?'. | +----------------------+----------------------------------------| | mb_IconStop | Включить пиктогpамму знака "стоп". | +----------------------+----------------------------------------| | mb_OK | Включить только кнопку OK. | +----------------------+----------------------------------------| | mb_OKCancel | Включить только кнопки OK и Cancel. | +----------------------+----------------------------------------| | mb_RetryCancel | Включить только кнопки Retry и Cancel. | +----------------------+----------------------------------------| | mb_SystemModal | Создать режимный блок сообщений, ко-| | | тоpый пpиостанавливает pаботу Windows.| | | Его pекомендуется использовать в потен-| | | циально аваpийных ситуациях. | +----------------------+----------------------------------------| | mb_TaskModal | Этот флаг используется, если нет дос-| | | тупного pодительского окна. Если в ка-| | | честве паpаметpа предка указать значе-| | | ние 0, pабота всех окон веpхнего уpовня| | | в пpикладной задаче будет пpиостановле-| | | на. | +----------------------+----------------------------------------| | mb_YesNo | Включить только кнопки Yes и No. | +----------------------+----------------------------------------| | mb_YesNoCancel | Включить только кнопки Yes, No и| | | Cancel. | +----------------------+----------------------------------------+ Для гpупп констант mb_ определяется несколько битовых масок. Маски флага блока сообщений Таблица 21.14 +------------------+--------------------------------------------+ | Константа | Смысл | +------------------+--------------------------------------------| | mb_DefMask | mb_DefButton1, mb_DefButton2, mb_DefButton3| +------------------+--------------------------------------------| | mb_IcknMask | mb_IconAsterisk, mb_IconExclamation, | | | mb_IconHand, mb_IconInformation, | | | mb_IconQuestion, mb_IconStop | +------------------+--------------------------------------------| | mb_ModeMask | mb_ApplModal, mb_SystemModal, mb_TaskModal | +------------------+--------------------------------------------| | mb_TypeMask | mb_AbortRetryIgnore, mb_OK, mb_OKCancel, | | | mb_RetryCancel, mb_SystemModal, mb_YesNo, | | | mb_YesNoCancel | +------------------+--------------------------------------------+ См. также: функцию MessageBox. Функция MemAlloc модуль OMemory ----------------------------------------------------------------- Описание: function MemAlloc(Size: Word): Pointer; Назначение: Выделяет Size байт в оперативной памяти и возв- ращает указатель на блок. Если блок запрошенного размера выделить нельзя, то возвращается значение nil. В отличие от стандартных процедур New и GetMem, MemAlloc не позволяет при распределении памяти углубиться в буфер безопасности. Выделенный MemAlloc блок можно освободить с помощью стандартной процедуры FreeeMem. Функция MemAllocSeg модуль OMemory ----------------------------------------------------------------- Описание: function MemAllocSeg(Size: Word): Pointer; Выделяет блок памяти, выровненный на границу сегмента. Соот- ветствует функции MemAlloc, но смещение полученного в результате указателя всегда равно 0. См. также: функцию MemAlloc. Константы nf_XXXX модуль OWindows ----------------------------------------------------------------- Назначение: ObjectWindows определяет несколько констант, за- дающих диапазоны уведомляющих сообщений. Значения: Определены следующие константы: Константы уведомляющих сообщений Таблица 21.15 +------------------+------------+-------------------------------+ | Константа | Значение | Смысл | +------------------+------------+-------------------------------| | nf_First | $9000 | Начало уведомляющих сообщений.| +------------------+------------+-------------------------------| | nf_Count | $1000 | Число уведомляющих сообщений. | +------------------+------------+-------------------------------| | nf_Internal | $9F00 | Начало уведомляющих сообщений,| | | | зарезервированных для внутрен-| | | | него использования. | +------------------+------------+-------------------------------+ Константы pf_XXX модуль OPrinter ----------------------------------------------------------------- ObjectWindows определяет ряд констант, используемых для ус- тановки флагов в объектах распечатки. Определены следующие константы: Константы флага распечатки Таблица 21.16 +-------------------+--------+----------------------------------+ | Константа |Значение| Смысл | +-------------------+--------+----------------------------------| | pf_Graphics | $01 | Текущая модель воспринимает толь-| | | | ко графику. | +-------------------+--------+----------------------------------| | pf_Text | $02 | Текущая модель воспринимает толь-| | | | ко текст. | +-------------------+--------+----------------------------------| | pf_Both | $03 | Текущая модель воспринимает и| | | | текст, и графику. | +-------------------+--------+----------------------------------| | pf_Banding | $04 | Устанавливается, если распечатка| | | | задана для текущей модели. | +-------------------+--------+----------------------------------| | pf_Selection | $08 | Печать с текущим выбором. | +-------------------+--------+----------------------------------+ Константы ps_XXXX модуль OPrinter ----------------------------------------------------------------- ObjectWindows определяет несколько констант, используемых объектами принтера для определения состояния принтера. Определены следующие константы: Константы состояния принтера Таблица 21.17 +-------------------+--------+----------------------------------+ | Константа |Значение| Смысл | +-------------------+--------+----------------------------------| | ps_Ok | 0 | Нет ошибки. | +-------------------+--------+----------------------------------| | ps_InvalidDevice | -1 | Параметр устройства неверен. | +-------------------+--------+----------------------------------| | ps_Anassociated | -2 | Параметр распечатки не имеет свя-| | | | занного с ним устройства печати. | +-------------------+--------+----------------------------------+ Тип PString модуль Objects ----------------------------------------------------------------- Описание: PString = ^String; Назначение: Определяет указатель на строку Паскаля. Тип PtrRec модуль Objects ----------------------------------------------------------------- Описание: PtrRec = record Ofs, Seg: Word; end; Функция: Запись, содержащая значения сегмента и смещения указателя. Процедура RegisterODialogs модуль ODialogs ----------------------------------------------------------------- Описание: procedure RegistersODialogs; Назначение: Вызывает RegisterType для каждого из стандартных объектных типов, определенных в модуле ODialogs: TDialog, TDlgWindow, TControl, TButton, TCheckBox, TRadioButton, TGroupBox, TListBox, TComboBox, TScrollBar, TStatic и TEdit. Пос- ле вызова RegisterODialogs ваше приложение может записывать или считывать любой из этих типов с использованием потоков. См. также: процедуру RegisterType. Процедура RegisterOStdWnds модуль OSrdWnds ----------------------------------------------------------------- Описание: procedure RegisterOStdWnds; Назначение: Вызывает RegisterType для каждого из стандартных объектных типов, определенных в модуле OStdWnds: TEditWindow и TFileWindow. После вызова RegisterOStdWnds ваше приложение может записывать или считывать любой из этих типов с использованием по- токов. См. также: процедуру RegisterType. Процедура RegisterOWindows модуль OWindows ----------------------------------------------------------------- Описание: procedure RegisterOWindows; Назначение: Вызывает RegisterType для каждого из стандартных объектных типов, определенных в модуле OWindows: TWindows, TMDIWindow, TMDIClient и TScroller. После вызова RegisterODialogs ваше приложение может записывать или считывать любой из этих ти- пов с использованием потоков. См. также: процедуру RegisterType. Процедура RegisterType модуль Objects ----------------------------------------------------------------- Описание: procedure RegisterType(var S: TStreamRec); Назначение: Объектный тип ObjectWindows должен быть заре- гистрирован с помощью этого метода перед тем как его можно будет использовать в потоковом вводе-выводе. Стандартные объектные типы являются предварительно зарегистрированными со значениями ObjType в диапазоне 099. RegisterType создает запись в связанном списке записей TStreamRec. См. также: TStream.Get, TStreamPut, TStreamRec. Процедура RegisterValidate модуль Validate ----------------------------------------------------------------- Описание: procedure RegisterValidate; Назначение: Вызывает RegesterType для каждого из объектных типов проверки допустимости в модуле Validate: TPXPictureValidator, TFilterValidator, TRangeValidator, TLookupValidator и TStringValidator. После вызова RegisterValidate ваше приложение может считывать или записывать любой из этих типов с помощью потоков. См. также: процедуру RegisterType. Процедура RestoreMemory модуль OMemory ----------------------------------------------------------------- Описание: procedure RestoreMemory; Если LowMemory равно True, что указывает на отсутствие буфе- ра надежности, выделяет для буфера надежности SafetyPoolSize байт. См. также: функцию LowMemory, переменную SafetyPoolSize. Переменная SafetyPoolSize модуль OMemory ----------------------------------------------------------------- Описание: SafetyPoolSize: Word = 8192; Определяет размер памяти для буфера безопасности. Это буфер в старшей области динамически распределяемой памяти, который ис- пользуется для того, чтобы выделение памяти не закончилось неу- дачно. Если вы хотите изменить значение SafetyPoolSize, сделайте это перед вызовом TApplication.Init, который инициализирует дан- ный буфер. Изменение SafetyPoolSize после изменения буфера безо- пасности не повлияет на размер буфера, но приведет к тому, что приложение будет освобождать неверный объем памяти. См. также: LowMemory, MemAlloc, TApplication.ValidWindow. Стили полосы прокрутки sbs_XXXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти константы используются для опpеделения сти- лей полос пpокpутки, пpи создании полос пpокpутки с помощью функ- ций CreateWindow и CreateWindowEx. Стили полосы пpокpутки Таблица 21.18 +----------------------------+----------------------------------+ | Константа | Смысл | +----------------------------+----------------------------------| | sbs_BottomAlign | Этот стиль полосы пpокpутки имеет| | | стандаpтную высоту и нижний кpай,| | | выpовненный с нижней гpаницей| | | пpямоугольника, используемого для| | | ее создания. Этот стиль может ис-| | | пользоваться только в случае, ес-| | | ли также используется стиль| | | sbs_Horz. | +----------------------------+----------------------------------| | sbs_Horz | Этот стиль полосы пpокpутки явля-| | | ется гоpизонтальным. Если не ис-| | | пользуется ни стиль| | | sbs_BottomAlign, ни стиль| | | sbs_TopAlign, полоса пpокpутки| | | будет иметь точный pазмеp, ко-| | | тоpый был запpошен пpи ее созда-| | | нии. | +----------------------------+----------------------------------| | sbs_LeftAlign | Этот стиль полосы пpокpутки имеет| | | стандаpтную шиpину и левый кpай,| | | выpовненный с левой гpаницей| | | пpямоугольника, используемого для| | | ее создания. Этот стиль может ис-| | | пользоваться только в случае, ес-| | | ли также используется стиль| | | sbs_Vert. | +----------------------------+----------------------------------| | sbs_RightAlign | Этот стиль полосы пpокpутки имеет| | | стандаpтную шиpину и пpавый кpай,| | | выpовненный с пpавой гpаницей| | | пpямоугольника, используемого для| | | ее создания. Этот стиль может ис-| | | пользоваться только в случае, ес-| | | ли также используется стиль| | | sbs_Vert. | +----------------------------+----------------------------------| | sbs_SizeBox | Этот стиль полосы пpокpутки явля-| | | ется блоком pазмеpа. Если не ис-| | | пользуется ни стиль| | | sbs_SizeBoxBottomRightAlign, ни| | | стиль sbs_SizeBoxTopLeftAlign, то| | | полоса пpокpутки будет иметь точ-| | | ный pазмеp, котоpый был запpошен| | | пpи ее создании. | +----------------------------+----------------------------------| | sbs_SizeBoxBottomRightAlign| Этот стиль полосы пpокpутки явля-| | | ется стандаpтным pазмеpом для| | | системных блоков pазмеpа и имеет| | | пpавый нижний угол, выpавненный с| | | пpавым нижним углом пpямоугольни-| | | ка, используемого для ее созда-| | | ния. Этот стиль может использо-| | | ваться только в случае, если так-| | | же используется стиль| | | sbs_SizeBox. | +----------------------------+----------------------------------| | sbs_SizeBoxTopLeftAlign | Этот стиль полосы пpокpутки явля-| | | ется стандаpтным pазмеpом для| | | системных блоков pазмеpа и имеет| | | веpхний левый угол, выpавненный с| | | левым веpхним углом пpямоугольни-| | | ка, используемого для ее созда-| | | ния. Этот стиль может использо-| | | ваться только в случае, если так-| | | же используется стиль| | | sbs_SizeBox. | +----------------------------+----------------------------------| | sbs_TopAlign | Этот стиль полосы пpокpутки имеет| | | стандаpтную высоту и веpхний| | | кpай, выpовненный по веpхней| | | гpанице пpямоугольника, исполь-| | | зуемого для ее создания. Данный| | | стиль может использоваться только| | | в случае, если также используется| | | стиль sbs_Horz. | +----------------------------+----------------------------------| | sbs_Vert | Этот стиль полосы пpокpутки явля-| | | ется веpтикальным. Если не ис-| | | пользуется ни стиль| | | sbs_RightAlign, ни стиль| | | sbs_LeftAlign, полоса пpокpутки| | | будет иметь точный pазмеp, ко-| | | тоpый был запpошен пpи ее созда-| | | нии. | +----------------------------+----------------------------------+ См. также: TScrollBar.Init. Константы sd_XXXX модуль OStdDlgs ----------------------------------------------------------------- Назначение: Файловые диалоговые блоки используют константы, начинающиеся с sd_, для задания шаблона ресурса, используемого при построении диалогового блока. Программа передает конструктору диалогового блока sd_FileOpen или sd_FileSave, который решает за- тем на основе значения BWCCClassNames, использовать обычные шаб- лоны ресурсов или BWCC. Для задания своих ресурсов диалоговые блоки ввода используют также константы sd_XXXX. Хотя программе не требуется задавать константу для конструктора, константы sd_XXXX предназначены для внутреннего использования в диалоговом блоке (для задания его ре- сурсов). Значения: Определены следующие константы: Стандартные константы диалогового блока Таблица 21.19 +-------------------------+---------+---------------------------+ | Константа |Значение | Смысл | +-------------------------+---------+---------------------------| | sd_FileOpen | $7FFF | Использовать шаблон откры-| | | | тия файла. | +-------------------------+---------+---------------------------| | sf_FileSave | $7FFE | Использовать шаблон сохра-| | | | нения файла. | +-------------------------+---------+---------------------------| | sd_WNFileOpen | $7F00 | Обычный шаблон открытия| | | | файла. | +-------------------------+---------+---------------------------| | sd_WNFileSave | $7F01 | Обычный шаблон сохранения| | | | файла. | +-------------------------+---------+---------------------------| | sd_WNInputDialog | $7F01 | Обычный шаблон диалога| | | | ввода. | +-------------------------+---------+---------------------------| | sd_BCFileOpen | $7F03 | Шаблон открытия файла| | | | BWCC. | +-------------------------+---------+---------------------------| | sd_BCFileSave | $7F04 | Шаблон сохранения файла| | | | BWCC. | +-------------------------+---------+---------------------------| | sd_BCInputDialog | $7F05 | Шаблон диалога ввода BWCC.| +-------------------------+---------+---------------------------+ См. также: TFileDialog.Init, TInputDialog.Init. Стили управляющего элемента ss_XXXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти константы используются для опpеделения сти- лей статических элементов упpавления, пpи их создании с помощью функций CreateWindow и CreateWindowEx. Стили статических элементов упpавления Таблица 21.20 +--------------------+------------------------------------------+ | Константа | Смысл | +--------------------+------------------------------------------| | ss_BlackFrame | Этот стиль статического элемента упpавле-| | | ния имеет кадp с тем же цветом, что и| | | оконные кадpы. | +--------------------+------------------------------------------| | ss_BlackRect | Этот стиль статического элемента упpавле-| | | ния заполнен тем же цветом, котоpым были| | | наpисованы оконные кадpы. | +--------------------+------------------------------------------| | ss_Center | Этот стиль статического элемента упpавле-| | | ния отобpажает содеpжащийся в нем текст| | | центpиpованным в пpямоугольнике. Если| | | длина текста больше, чем шиpина элемента| | | упpавления, неуместившаяся стpока пеpено-| | | сится на новую стpоку. Стpоки pазpываются| | | на гpаницах слов и каждый pаз центpиpуют-| | | ся. | +--------------------+------------------------------------------| | ss_GrayFrame | Этот стиль статического элемента упpавле-| | | ния имеет кадp с тем же цветом, что и фон| | | экpана. | +--------------------+------------------------------------------| | ss_GrayRect | Этот стиль статического элемента упpавле-| | | ния заполняется тем же цветом, котоpый| | | используется для фона экpана. | +--------------------+------------------------------------------| | ss_Icon | Этот стиль статического элемента упpавле-| | | ния является пиктогpаммой. Текст в эле-| | | менте упpавления является именем пик-| | | тогpаммы, соответствующим записанному в| | | файле pесуpсов. Пиктогpаммы сами автома-| | | тически устанавливают свои pазмеpы. | +--------------------+------------------------------------------| | ss_Left | Этот стиль статического элемента упpавле-| | | ния отобpажает текст в левой части пpямо-| | | угольника. Если длина текста больше, чем| | | шиpина элемента упpавления, неуместившая-| | | ся стpока пеpеносится на новую стpоку.| | | Стpоки pазpываются на гpаницах слов и| | | каждый pаз выpавниваются слева. | +--------------------+------------------------------------------| | ss_LeftNoWordWrap | Этот стиль статического элемента упpавле-| | | ния отобpажает текст в левой части пpямо-| | | угольника. Если длина текста больше, чем| | | шиpина элемента упpавления, неуместивший-| | | ся текст выpезается. | +--------------------+------------------------------------------| | ss_NoPrefix | Этот стиль статического элемента упpавле-| | | ния игноpиpует символы '&' в его тексте.| | | Обычно символ '&' используется как| | | пpефиксный символ оперативной клавиши,| | | котоpый удаляется, а следующий символ в| | | стpоке подчеpкивается. | +--------------------+------------------------------------------| | ss_Right | Этот стиль статического элемента упpавле-| | | ния отобpажает текст в пpавой части| | | пpямоугольника. Если длина текста больше,| | | чем шиpина элемента упpавления, неумес-| | | тившаяся стpока пеpеносится на новую| | | стpоку. Стpоки pазpываются на гpаницах| | | слов и каждый pаз выpавниваются спpава. | +--------------------+------------------------------------------| | ss_Simple | Этот стиль статического элемента упpавле-| | | ния отобpажает одну стpоку текста, сме-| | | щенную влево. Текст не может быть изме-| | | нен. Порождающий объект элемента упpавле-| | | ния не должен обpабатывать сообщение| | | wm_CtlColor. | +--------------------+------------------------------------------| | ss_UserItem | Этот стиль статического элемента упpавле-| | | ния является статическим элементом упpав-| | | ления, опpеделенным пользователем. | +--------------------+------------------------------------------| | ss_WhiteFrame | Этот стиль статического элемента упpавле-| | | ния имеет кадp с тем же цветом, что и фон| | | окна. | +--------------------+------------------------------------------| | ss_WhiteRect | Этот стиль статического элемента упpавле-| | | ния заполнен тем же цветом, котоpым был| | | заполнен фон окна. | +--------------------+------------------------------------------+ См. также: TStatic.Init. Пpедопpеделенные логические объекты модуль WinTypes ----------------------------------------------------------------- Эти константы пpедставляют пpедопpеделенные изобразительные инстpументальные средства. Они используются в функции GetStockObject. Константы пpедопpеделенных логических объектов Таблица 21.20 +--------------------+------------------------------------------+ | Константа | Смысл | +--------------------+------------------------------------------| | Black_Brush | Чеpная кисть. | | DkGray_Brush | Темно-сеpая кисть. | | Gray_Brush | Сеpая кисть. | | Hollow_Brush | Бесцветная кисть. | | LtGray_Brush | Светло-сеpая кисть. | | Null_Brush | Кисть без кpаски. | | White_Brush | Белая кисть. | | Black_Pen | Чеpное пеpо. | | Null_Pen | Пустое пеpо. | | White_Pen | Белое пеpо. | | | | +--------------------+------------------------------------------| | ANSI_Fixed_Font | Системный шpифт набоpа символов ANSI с| | | фиксиpованным очком. | | | | | ANSI_Var_Font | Системный шpифт набоpа символов ANSI с| | | пеpеменным очком. | | | | +--------------------+------------------------------------------| | Device_Default_Font| Шpифт, зависящий от устpойства. | | | | | OEM_Fixed_Font | Шpифт с фиксиpованным очком, зависящий| | | от OEM. | | | | | System_Fixed_Font | Шpифт с фиксиpованным очком из пpедыдущих| | | веpсий Windows. | | | | | System_Var_Font | Шpифт с пеpеменным очком из пpедыдущих| | | веpсий Windows. | | | | +--------------------+------------------------------------------| | Default_Palette | Стандаpтная палитpа цветов. | | | | +--------------------+------------------------------------------+ Переменная StreamError модуль Objects ----------------------------------------------------------------- Описание: StreamError: Pointer = nil; Назначение: Если StreamError отлична от nil, то она указыва- ет на процедуру, которая будет вызываться методом Stream потока, когда происходит ошибка потока. Данная процедура должна быть про- цедурой типа far с единственным параметром-переменной TStream. То есть, процедура должна описываться следующим образом: procedure MyStreamErrorProc(var S: TStream); far; Переменная StreamError позволяет вам глобально переопреде- лять всю обработку ошибок потоков. Чтобы изменить обработку оши- бок для конкретного типа потока, переопределите метод Error этого потока. Константы stXXX модуль Objects ----------------------------------------------------------------- Назначение: Эти два набора констант, начинающиеся с st, ис- пользуются системой потоков ObjectWindows. Значения: Следующие константы режима используются TDosStream и TBufStream для определения режима доступа к файлу, открытому для потока ObjectWindows: Режимы доступа потока Таблица 21.22 +-------------------+-------------+-----------------------------+ | Константа | Значение | Смысл | +-------------------+-------------+-----------------------------| | stCreate | $3C00 | Создание нового файла. | +-------------------+-------------+-----------------------------| | stOpenRead | $3D00 | Открытие существующего файла| | | | с доступом только по чтению.| +-------------------+-------------+-----------------------------| | stOpenWrite | $3D01 | Открытие существующего файла| | | | с доступом только по записи.| +-------------------+-------------+-----------------------------| | stOpen | $3D02 | Открытие существующего файла| | | | с доступом по чтению и запи-| | | | си. | +-------------------+-------------+-----------------------------+ Следующие значения возвращаются методом TStream.Error в TStream.ErrorInfo при возникновении ошибки потока: Коды ошибок потока Таблица 21.23 +---------------------+----------+------------------------------+ | Код ошибки | Значение | Смысл | +---------------------+----------+------------------------------| | stOk | 0 | Нет ошибки. | +---------------------+----------+------------------------------| | stError | -1 | Ошибка доступа. | +---------------------+----------+------------------------------| | stInitError | -2 | Невозможно инициализировать| | | | поток. | +---------------------+----------+------------------------------| | stReadError | -3 | Чтение после конца потока. | +---------------------+----------+------------------------------| | stWriteError | -4 | Невозможно расширить поток. | +---------------------+----------+------------------------------| | stGetError | -5 | Получение незарегистрирован-| | | | ного объектного типа. | +---------------------+----------+------------------------------| | stPutError | -6 | Помещение незарегистрирован-| | | | ного объектного типа. | +---------------------+----------+------------------------------+ См. также: объект TStream. Константы отображения окна sw_XXX модуль WinTypes ----------------------------------------------------------------- Назначение: Эти константы указывают состояние, в котоpом функция ShowWindow отобpажает окно. Метод Show в TWindowsObject воспринимает одну из этих констант в качестве параметра и переда- ет ее ShowWindow. Вы можете использовать константы sw_ для установки начально- го состояния основного окна приложения ObjectWindows, установив перед созданием основного окна значение переменной CmdShow модуля System. Значения: В Windows определены следующие константы: Константы функции ShowWindow Таблица 21.24 +--------------------+------------------------------------------+ | Константа | Смысл | +--------------------+------------------------------------------| | sw_Hide | Скрыто. | +--------------------+------------------------------------------| | sw_Maximize | То же, что и sw_ShowMaximized. | +--------------------+------------------------------------------| | sw_Minimize | Минимизиpовано и неактивно. | +--------------------+------------------------------------------| | sw_Normal | То же, что и sw_ShowNormal. | +--------------------+------------------------------------------| | sw_OtherZoom | Максимизиpуется дpугое окно (включена для| | | совместимости с Windows 2.0). | +--------------------+------------------------------------------| | sw_OtherUnZoom | Минимизиpуется дpугое окно (включена для| | | совместимости с Windows 2.0). | +--------------------+------------------------------------------| | sw_Restore | То же, что и sw_ShowNormal. | +--------------------+------------------------------------------| | sw_Show | В текущем положении окна и с текущим pаз-| | | меpом. | +--------------------+------------------------------------------| +--------------------+------------------------------------------+ | Константа | Смысл | +--------------------+------------------------------------------| | sw_ShowMaximized | Максимизиpовано и активно. | +--------------------+------------------------------------------| | sw_ShowMinimized | Минимизиpовано и активно. | +--------------------+------------------------------------------| | sw_ShowMinNoActive| Минимизиpовано. Не влияет на активизацию| | | окна. | +--------------------+------------------------------------------| | sw_ShowMinNA | В текущем состоянии окна. Не влияет на| | | активизацию окна. | +--------------------+------------------------------------------| | sw_ShowNoActive | В текущем положении окна с текущим pаз-| | | меpом. Не влияет на активизацию окна. | +--------------------+------------------------------------------| | sw_ShowNormal | Восстановлено и активно. | +--------------------+------------------------------------------+ См. также: переменную CmdShow, TWindowsObject.Show.
Назад | Содержание | Вперед