Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

СПРАВОЧНИК ПО ОБЪЕКТАМ.


THistory

+----------+ | TObject | +----+-----+ +----+-----+ | TView | +----+-----+ +====+=====+ | THistory | +==========+ Объект THistory реализует список для значений, действий или выборов. связываютя с объектом TInputLine и со Информация списка истории хранится в Когда блок заполняется, наиболее стары удаляются, а новые добавляются. Объект THistory показан как кнопка (|щ| ввода. Когда пользователь отмечает кно Vision открывает окно истории (смотри просмотром истории (смотри THistoryV список предыдущих элементов. Различные строки ввода могут использ истории, используя одинаковый номер ID. Поля Link: PInputLine; Только чтение Указатель на связанный объект TInputLine. HistoryID HistoryID: Word; Только чтение Каждый список истории имеет уникальный номер ID, назначаемый программистом. Различные объекты историй в различных окнах могут разделять список истории, используя одинаковый ID номер. Методы Init constructor Init(var Bounds: TRect; ALink: PInputLine; AHistoryID: Word); Создает объект THistоry заданного размера, вызывая TView.Init, затем устанавливает поля Link и HistoryId значениями, заданными в аргументах. Поле Options устанавливатся в ofPostProcess, а EventMask в evBroadcast. См. так же: TView.Init Load constructor Load(var S: TStream); Создает и инициализирует объект History из TStream, вызывая TView.Load(S) и читая Link и HistoryId из S. См. так же: TView.Store Draw procedure Draw; virtual; Перекрывается: Редко Рисует кнопку History в палитре по умолчанию. GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на умалчиваемую палитру CHistory. Store procedure Store(var S:TStream); Сохраняет объект THistory в TStream, вызывая TView.Store(S), затем записывает Link и HistoryId в S. См. так же: TView.Load Палитра Кнопки истории используют палитру по умолчанию CHistory для отображения 14 и 20-го элементов в палитру стандартного диалогового окна. 1 2 +====+====+ CHistory | 14 | 20 | +==+=+=+==+ Стрелка --------+ +------- Стороны

THistoryViewer Dialogs

THistoryViewer - прямой потомок TListViewer. Он используется системой списка истории и появляется внутри окна истории при отметке кнопки истории. Для детального описания взаимодействия THistory, THistoryWindow и THistoryViewer смотри THistory в этой главе. Поля HistoryID HistoryID: Word; Только чтение HistoryId - это ID номер списка истории, отображаемого в этом видимом элементе. Методы Init constructor Init(var Bounds:TRect; AHScrollBar, AVScrollBar: PScrollBar; AHistoryID: Word); Init инициализирует видимый элемент просмотра списка, вначале вызывая TListViewer.Init для установки границ, одной колонки и двух полос скроллинга, передаваемых в AHScrollBar и AVScrollBar. Видимый элемент связывается затем со списком истории, с полем HistoryId, установленным в значение, переданное в AHistory. Этот список проверяется затем на длину так, что диапазон списка устанавливается в число списка. Первый элемент в списке истории дан как активный. Диапазон горизонтального скроллинга устанавливается в соответствие с самым широким элементом списка. См. так же: TListViewer.Init GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на умалчиваемую палитру CHistoryViewer. GetText function GetText(Item: Integer; MaxLen: Integer): String; virtual; Перекрывается: Редко Возвращает строку Item в связанном списке истории. GetText вызывается виртуальным методом Draw для каждого видимого элемента в списке. См. так же: TListViewer.Draw, HistoryStr function HandleEvent procedure HandleEvent(var Event: TEvent); virtual; Перекрывается: Иногда Видимый элемент просмотра истории управляет двумя видами событий; все другие передаются в TListViewer.HandleEvent. Двойная отметка или нажатие клавиши Enter будут завершать модальное состояние окна истории с командой cmOK. При нажатии клавиши Esc или получении командного события cmCancel, выбор списка истории будет отменен. См. так же: TListViewer.HandleEvent HistoryWidth function HistoryWidth: Integer; Возвращает длину самой длинной строки в списке истории, связанном с HistoryId. Палитра Объекты просмотра истории используют палитру по умолчанию CHistoryViewer для отображения в 6 и 7 элементы палитры стандартного диалогового окна. 1 2 3 4 5 +===+===+===+===+===+ CHistoryViewer | 57| 58| 58| 61| 62| +=+=+=+=+=+=+=+=+=+=+ Активный ---------+ | | | +-- Разделитель Неактивный -----------+ | +------ Выбранный Сфокусированный ----------+

THistoryWindow Dialogs

THistoryWindow - это специализированный наследник от TWindow, используемый для объекта просмотра списка истории, когда пользователь отмечает кнопку истории, стоящую за строкой ввода. По умолчанию окно не имеет заголовка и номера. Рамка окна истории имеет закрывающую кнопку, поэтому окно может быть закрыто, но не может изменить размер или масштабироваться. Для деталей по использованию списков истории и связанных с ними объектов см. THistory в этой главе. Поля Viewer Viewer: PListViewer; Viewer указывает на список просмотра окна истории. Методы Init constructor Init(var Bounds: TRect; HistoryId: Word); Вызывает TWindow.Init для установки окна с заданными границами, пустой строкой заголовка и без номера окна (wnNoNumber). Поле TWindow.Flags устанавливается в wfClose, чтобы обеспечить закрывающую кнопку и объект просмотра истории создается, чтобы показать элементы списка истории, заданные через HistoryID. См. так же: TWindow.Init, THistoryWindow.InitViewer GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на палитру по умолчанию CHistoryWindow. GetSelection function GetSelection: String; virtual; Перекрывается: Никогда Возвращает строковое значение активного элемента из просмотра истории. См. так же: THistoryViewer.GetText InitViewer procedure InitViewer(HistoryOd: Word); virtual; Перекрывается: Никогда Создает и вставляет объект THistoryViewer внутри границ окна истории со списком, заданным через HistoryId. Стандартные полосы скроллинга размещены на рамке окна для скольжения по списку. См. так же: THistoryViewer.Init Палитра Объекты окна истории используют по умолчанию палитру CHistoryWindow для отображения на элементы с 19 по 25-й в палитре стандартного диалогового окна. 1 2 3 4 5 6 7 +====+====+====+====+====+====+====+ CHistoryWindow | 10 | 11 | 12 | 13 | 14 | 14 | 14 | +==+=+==+=+==+=+==+=+==+=+==+=+==+=+ Пассивная рамка --+ | | | | | +-- Выбранный текст Активная рамка -------+ | | | | Кнопка рамки ---------------+ | | +------ Нормальный текст | | | +-------- Элементы управления +------------- Область страницы

TInputLine Dialogs

+-------------+ | TObject | +------+------+ +------+------+ | TView | +------+------+ +======+======+ | TInputLine | +=============+ Объект TInputLine обеспечивает редактор строк ввода. Он управляет вводом с клавиатуры и мышки и перемещением помеченных блоков в различных функциях редактирования строки (см. TInputLine.HandleEvent). Выбранный текст удаляется и заменяется первым введенным текстом. Если MaxLen больше размера по Х (Size.X), поддерживается горизонтальный скроллинг, который указывается правой и левой стрелками. Методы GetData и SetData предназначены для записи и чтения строк данных (через поле указателя Data) в данную запись. TInputLine.SetState упрощает перерисовку видимого элемента соответствующим цветом, когда состояние изменяется из или в sfActive и sfSelected. Строка ввода часто имеет ассоциированные с ним объекты TLabel и/или THistory. TInputLine можно расширить для обработки типов данных отличных от строк. Чтобы сделать это, Вы добавляете новые поля и перекрываете методы Init, Load, Store, Valid, DataSize, GetData и SetData. Например, чтобы определить строку ввода числа, Вы можете задать минимальное и максимальные допустимые значения, которые будут проверяться функцией Valid. Эти минимальные и максимальные поля будут загружаться и сохраняться в потоке методами Load и Store. Valid модифицируется для проверки того, что значение находится в допустимом диапазоне. DataSize модифицируется для включения размера диапазона новых полей (вероятно SizeOf(Longint) для каждого). В этом примере не обязательно добавлять поле для хранения числового значения. Оно может храниться как строковое значение (которое уже обрабатывается в TInputLine) и преобразовываться из строки в числовое значение и обратно методами GetData и SetData соответственно. Поля Data Data: PString; Чтение/Запись Указатель на строку, содержащую редактируемую информацию. MaxLen MaxLen: Integer; Только чтение Максимальная длина, допустимая для строки, включая байт длины. См. так же: TInputLine.DataSize CurPos CurPos: Integer; Чтение/Запись Индекс на точку вставки (т.е. на текущую позицию курсора). См. так же: TInputLine.SelectAll FirstPos FirstPos: Integer; Чтение/Запись Индекс на первый отображаемый символ. См. так же: TInputLine.SelectAll SelStart SelStat: Integer; Только чтение Индекс на начало выбранной области (т.е. на первый символ отмеченного блока). См. так же: TInputLine.SelectAll SelEnd SelEnd: Integer; Только чтение Индекс на конец выбранной области (т.е. на последний символ отмеченного блока). См. так же: TInputLine.SelectAll Методы Init constructor Init(var Bounds: TRect; AMaxLen: Integer); Создает прямоугольник ввода с заданными значениями, вызывая TInputLine.Init. State устанавливается в sfCursorVis, Options устанавливается в (ofSelectable + ofFirstClick), и MaxLen устанавливается в AMaxLen. Память распределяется и очищается под AMaxLen + 1 байт и поле Data устанавливается для указания этого распределения. См. так же: TView.Init, TView.sfCursorVis, TView.ofSelectable, TView.ofFirstClick Load constructor Load(var S: TStream); Создает и инициализирует объект TInputLine, вызывая TView. Load(S) для загрузки видимого элемента из потока, затем читает целочисленные поля, используя S.Read, распределяет MaxLen+1 байт через Data, вызывая GetMem. Наконец устанавливает байт длины строки и загружает данные из потока двумя дополнительными вызовами S.Read. Load используется совместно с TInputLine.Store для сохранения и восстановления объектов TInputLine из TStream. Перекрывайте этот метод, если Вы определили потомков, содержащих дополнительные поля. См. так же: TView.Load, TInputLine.Store, TStream.Read Done destructor Done; virtual; Перекрывается: Редко Освобождает память Data, затем вызывает TView.Done для разрушения объекта TInputLine. См. так же: TView.Done DataSize function DataSize: Word; virtual; Перекрывается: Иногда Возвращает размер записи для TInputLine.GetData и TInputLine.SetData. По умолчанию возвращается MaxLen+1. Перекройте этот метод, если Вы определили потомков для обработки других типов данных. См. так же: TInputLine.GetData, TInputLine.SetData Draw procedure Draw; virtual; Перекрывается: Редко Рисует прямоугольник ввода и его данные. Прямоугольник рисуется соответствующим цветом в зависимости от того, является ли он sfFocused или нет (т.е. находится ли в видимом элементе курсор или нет) и стрелки рисуются, если строка ввода превышает размер видимого элемента (в любом или в обоих направлениях). Любые выбранные (отмеченный блок) символы рисуются соответствующим цветом. GetData procedure GetData(var Rec); virtual; Перекрывается: Иногда Записывает DataSize байт из строки Data^ в запись. Используется с TInputLine.SetData в ряде программ, например во временной памяти или при передаче строки ввода в другие видимые элементы. Перекройте этот метод, если Вы определяете потомка для обработки нестроковых типов данных. Используйте этот метод для преобразования Ваших типов данных в строку, редактируемую с помощью TInputLine. См. так же: TInputLine.DataSize, TInputLine.SetData GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на палитру по умолчанию CInputLine. HandleEvent procedure HandleEvent(var Event: TEvent); virtual; Перекрывается: Иногда Вызывает TView.HandleEvent, которая обрабатывает все события от мышки и клавиатуры, если прямоугольник ввода выбран. Этот метод реализует стандартные функции редактирования. Функции редактирования включают: отметку блока мышкой; удаление блока, вставку или перекрытие элемента управления с автоматическим изменением формы курсора; автоматический и ручной скроллинг (зависит от относительных размеров строки Data и Size.X); ручной горизонтальный скроллинг через отметку мышкой на кнопках стрелок; ручное движение курсора с помощью стрелок Home и End; удаление символа и блока с помощью Del и Ctrl-G. Видимый элемент перерисовывается при необходимости и поля TInputLine соответственно изменяются. См. так же: sfCursorIns, TView.HandleEvent, TIputLine.SelectAll SelectAll procedure SelectAll(Enable: Boolean); Устанавливает CurPos, FirstPos и SelStart в 0. Если Enable установлен в True, SelEnd устанавливается в Length(Data^) выбирая таким образом всю строку ввода. Если Enable установлен в False, SelEnd устанавливается в 0 снимая таким образом выбор всей строки. Наконец, видимый элемент перерисовывается вызовом DrawView. См. так же: TView.DrawView SetData procedure SetData(var Rec); virtual; Перекрывается: Иногда По умолчанию читает DataSize байт из записи в строку Data^ и вызывает SelectAll(True) для установки CurPos, FirstPos и SelStart в 0; SelEnd устанавливается на последний символ Data^ и видимый элемент перерисовывается. Перекройте этот метод, если Вы определили потомка для обработки нестроковых типов данных. Используйте этот метод для преобразования из строки в Ваш тип данных после редактирования с помощью InputLine. См. так же: TInputLine.DataSize, TInputLine.GetData, TView.DrawView SetState procedure AetState(AState: Word; Enable: Boolean); virtual; Перекрывается: Редко Вызывается, когда прямоугольник ввода должен быть перерисован (например при изменении палитры) после изменения State. Вызов TView.SetState устанавливает или очищает поле State видимого элемента заданными битами AState. Затем, если AState - sfSelected или если AState - sfActive и прямоугольник ввода - sfSelected, то вызывается SelectAll(Enable). См. так же: TView.SetState, TView.DrawView Store procedure Store(var S: TStream); Сохраняет видимый элемент в потоке, вызывая TView.Store(S), затем сохраняет 5 целочисленных полей и строку Data вызовами S.Write. Используется совместно с TInputLine.Load для сохранения и чтения всего объекта TInputLine. Перекройте этот метод, если Вы определяете потомка, который содержит дополнительные поля. См. так же: TView.Store, TInputLine.Load, TStream.Write Палитра Строки ввода используют палитру по умолчанию CInputLine для отображения в элементы с 19 по 21-й в палитре стандартного диалогового окна. 1 2 3 4 +====+====+====+====+ CInputLine | 19 | 19 | 20 | 21 | +==+=+==+=+==+=+==+=+ Пассивный -----+ | | +--- Стрелка Активный -----------+ +-------- Выбранный

TLabel Dialogs

+-------------+ | TObject | +-----+-------+ +-----+-------+ | TView | +-----+-------+ +=====+=======+ | TStaticText | +=====+=======+ +-----+-------+ | TLabel | +-------------+ Объект TLabel - это текст в видимом элементе, который может быть выбран (подсвечен) отметкой мышки, клавишами курсора или коротким выбором Alt-буква. Метка обычно присоединена через указатель PView к другому видимому элементу управления, такому как строка ввода, кластер или просмотр списка для пояснения пользователю. Выбор (или нажатие) метки будет выбирать присоединенный элемент управления. Метка так же будет подсвечиваться, когда выбран связанный элемент управления. Поля Link Link: PView; Только чтение Указывает на элемент управления, связанный с этой меткой. Light Light: Boolean; Только чтение Если True - метка, а связанный с ней элемент управления будут выбираться и подсвечиваться. Методы Init constructor Init(var Bounds: TRect; AText: String; ALink: PView); Создает объект TLabel заданного размера, вызывая TStaticText.Init, затем устанавливает поле Link в ALink для связывания с элементом управления (задайте Alink равным nil, если элемент управления не требуется). Поле Option устанавливается в ofPreProcess и ofPostProcess. EventMask устанавливается evBroadcast. Поле AText назначается полю Text через TStaticText.Init. AText может задать клавишу короткого набора для метки, окружив соответствующую букву "~". См. так же: TStaticText.Init Load constructor Load(var S: TStream); Создает и загружает объект TLabel из потока, вызывая TStaticText.Load, GetPeerViewPtr(S, Link) для установки связи с ассоциированным элементом управления (если он есть). См. так же: TLabel.Store Draw procedure Draw; virtual; Перекрывается: Никогда Рисует видимый элемент соответствующим цветом из палитры по умолчанию. GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на палитру по умолчанию CLabel. HandleEvent procedure HandleEvent(var Event: TEvent); virtual; Перекрывается: Никогда Обрабатывает все события, вызывая TStaticText.HandleEvent. Если evMouseDown или если получено событие от клавиши короткого набора, выбирается связанный элемент управления (если он есть). Этот метод так же обрабатывает общие события cmReceivedFocus и cmReleasedFocus от связанного элемента управления для настройки значения поля Light и перерисовки метки. См. так же: TView.HandleEvent, cmXXXX константы команд Store procedure Store(var S: TStream); Сохраняет видимый элемент в потоке, вызывая TStaticText.Store, затем записывает связь с ассоциированным элементом управления, вызывая PutPeerViewPtr. См. так же: TLabel.Load Палитра Метки используют палитру по умолчанию CLabel для отображения в элементы 7, 8 и 9 палитры стандартного диалога. 1 2 3 4 +====+====+====+====+ CLabel | 7 | 8 | 9 | 9 | +==+=+==+=+==+=+==+=+ Нормальный текст + | | +--- Короткая выбранная Выбранный текст ------+ +-------- Нормальная выбранная

TListBox Dialogs

+-------------+ | TObject | +------+------+ +------+------+ | TView | +------+------+ +------+------+ | TListViewer | +------+------+ +======+======+ | TListBox | +=============+ TListBox, порожденный от TListViewer, помогает Вам создавать наиболее часто используемые окна списков отображающих коллекции строк таких, как имена файлов. Объекты TListBox отображают списки таких элементов в одну или более колонок с возможной вертикальной полосой скроллинга. Горизонтальные полосы скроллинга не поддерживаются в TListViewer. Наследуемые методы TListViewer позволяют Вам выбрать (и подсветить) элементы мышкой или через клавиатуру. TListBox не перекрывает TListViewer.HandleEvent и TListViewer.Draw, поэтому Вы должны просмотреть их описание до использования TListBox в своих программах. TListBox имеет дополнительное поле List, которое указывает на объект TCollection, содержащий выводимые и выбираемые элементы. Ответственность за вставку данных в TCollection лежит на Вас так же как и действия, выполняемые при выборе элемента. TListViewer наследует метод Done от TView, поэтому Вы так же отвечаете за освобождение содержимого List при окончании работы. Вызов NewList будет освобождать старый список, поэтому вызов NewList(nil) и последующее освобождение окна списка будут освобождать все. Поля List List: PCollection; Только чтение List указывает на коллекцию элементов для просмотра. Это может быть коллекция PString, представляющая текстовые элементы. Методы Init constructor Init(var Bounds: TRect; ANumCols: Word; AScrollBar: PScrollBar); Создает окно списка с заданным размером, числом колонок и вертикальной полосой скроллинга, указываемой указателем AScrollBar. Этот метод вызывает TListViewer.Init с аргументом горизонтальной полосы скроллинга nil. Поле List первоначально nil (пустой список) и наследуемое поле Range устанавливается в 0. Ваша программа должна задать TCollection, содержащую строки (или другие объекты для вывода). Поле List должно быть установлено на эту коллекцию с использованием NewList. См. так же: TListViewer.Init, TListBox.NewList Load constructor Load(var S: TStream); Создает объект TListBox и загружает его значениями из TStream. Этот метод вызывает метод TListViewer.Load, затем устанавливает List, читая указатель List из S с помощью S. Get. См. так же: TListViewer.Load, TListBox.Store, TStream.Get DataSize function DataSize: Word; virtual; Перекрывается: Иногда Возвращает размер читаемых и записываемых данных для записей, передаваемых в TListBox.GetData и TListBox.SetData. Эти 3 метода полезны для инициализации групп. По умолчанию TListBox.DataSize возвращает размер указателя плюс размер слова (для List и выбранного элемента). Вам может потребоваться перекрыть этот метод для Вашей программы. См. так же: TListBox.GetData, TListBox.SetData GetData procedure GetData(var Rec); virtual; Перекрывается: Иногда Записывает данные объекта TListBox в запись. По умолчанию этот метод пишет в Rec текущие поля List и Focused. Вам может потребоваться перекрыть этот метод для Вашей программы. См. так же: TListBox.DataSize, TListBox.SetData GetText function GetText(Item: Integer; MaxLen: Integer): String; virtual; Перекрывается: Иногда Возвращает строку из вызываемого объекта TListBox. По умолчанию возвращаемая строка получается из элемента Item в TCollection, используя PString(List^.At(Item))^. Если List содержит не строковые объекты, Вам необходимо перекрыть этот метод. Если List - nil, GetText возвращает пустую строку. См. так же: TCollection.At NewList procedure NewList(AList: PCollection); virtual; Перекрывается: Редко Если AList не nil, новый список, заданные в AList, заменяет текущий List. Наследуемое поле Range устанавливается в поле Count новой TCollection и первый элемент активизируется вызовом FocusItem(0). Наконец, новый список отображается вызовом DrawView. Заметим, что если предыдущее поле List не nil, оно освобождается до назначения нового списка значений. См. так же: TListBox.SetData, TListViewer.SetRange, TListViewer.FocusItem, TView.DrawView SetData procedure SetData(var Rec); virtual; Перекрывается: Иногда Заменяет текущий список со значениями List и Focused, считанными из Rec. SetData вызывает NewList так, чтобы новый список отображался с корректным активным элементом. Как с GetData и DataSize, Вам может потребоваться перекрыть этот метод для Вашей программы. См. так же: TListBox.DataSize, TListBox.GetData, TListBox.NewList Store procedure Store(var S:TStream); Записывает окно списка в TStream, вызывая TListView.Store, затем выводит коллекцию в список, вызывая S.Put(List). См. так же: TListBox.Load, TListViewer.Store, TStream.Put Палитра Окна списка используют палитру по умолчанию CListViewеr, отображая элементы с 26 по 29 в палитру стандартной программы. 1 2 3 4 5 +===+===+===+===+===+ CListViewer | 25| 26| 27| 28| 29| +=+=+=+=+=+=+=+=+=+=+ Активный ------+ | | | +-- Разделитель Неактивный --------+ | +------ Выбранный Сфокусированный -------+

TListViewer Views

+-------------+ | TObject | +-----+-------+ +-----+-------+ | TView | +-----+-------+ +=====+=======+ | TListViewer | +=====+=======+ +-----+-------+ | TListBox | +-------------+ Тип объекта TListViewer - это базовый тип, из которого порождаются просмотры списков различного вида такие, как TListBox. Основные поля и методы TListViewer предоставляют следующие функции: - Видимый элемент для отображения связанных списков элементов (но не списков). - Управление одним или двумя полосами скроллинга. - Скроллинг списков по двум координатам. - Загрузка и сохранение видимого элемента и его полос скроллинга из и в TStream. - Возможность выбора элементов списка мышкой или клавишами. - Метод Draw поддерживающий изменение размера и скроллинг. TListViewer имеет абстрактный метод GetText так, что Вам потребуется предоставить механизм создания и манипуляции отображаемых элементов текста. TListViewer не имеет собственного механизма запоминания списка. Используйте его для отображения скроллингуемых списков, массивов, связанных списков или подобных структур данных. Вы так же можете использовать его наследников таких, как TListBox, которые ассоциируют коллекцию с просмотром списка. Поля HScroolBar HScrollBar: PScrollBar; Только чтение Указатель на горизонтальную полосу скроллинга, связанную с этим видимым элементом. Если nil, видимый элемент не имеет такой полосы скроллинга. VScroolBar VScrollBar: PScrollBar; Только чтение Указатель на вертикальную полосу скроллинга, связанную с этим видимым элементом. Если nil, видимый элемент не имеет такой полосы скроллинга. NumCols NumCols: Integer; Только чтение Число колонок в элементе управления списком. TopItem TopItem: Integer; Чтение/Запись Номер верхнего отображаемого элемента. Элементы нумеруются от 0 до Range-1. Это число зависит от числа колонок, размера видимого элемента и значения Range. См. так же: Range Focused Focused: Integer; Только чтение Номер активного элемента. Элементы нумеруются от 0 до Range-1. Первоначально устанавливается в 0 - первый элемент, Focused может изменяться отметкой мышки или выбором через пробел. См. так же: Range Range Range: Integer; Только чтение Общее число элементов в списке. Элементы нумеруются от 0 до Range-1. TListViewer.SetRange Методы Init constructor Init(var Bounds: TRect; ANumCols: Integer; AHScrollBar, AVScrollBar: PScrollBar); Создает и инициализирует объект TListViewer заданного размера, вызывая TView.Init. Поле NumCols устанавливается в ANumCols. Options устанавливается в (ofFirstClick + ofFirstSelectable) так, что выбор мышкой этого элемента будет передаваться в TListViewer.HandleEvent. EventMask устанавливается в evBroadcast. Начальные значения Range и Focused - 0. Указатели на вертикальную и/или горизонтальную полосы скроллинга можно задать через аргументы AVScrollBar и AHSсrollBar. Если Вам не нужны полосы скроллинга, можно установить один из них или оба в nil. Эти значения аргументов назначаются полям VScrollBar и HScrollBar. Если Вы задали полосы скроллинга, их поля PgStep и ArStep будут настраиваться в соответствии с размером TListViewer и числом колонок. Например, для одноколоночного TListViewer вертикальный PgStep равен Size.Y-1, а вертикальный ArStep равен 1. См. так же: TView.Init, TScrollBar.SetStep Load Load constructor Load(var S: TStream); Создает объект TListViewer, вызывая TView.Load. Полосы скроллинга, если они есть, так же загружаются из потока с использованием вызовов GetPeerViewPtr. Все целочисленные поля загружаются с использованием S.Read. См. так же: TView.Load, TListViewer.Store ChangeBounds ChangeBounds(var Bounds: TRect); virtual; Перекрывается: Никогда Изменяет размер объекта TListViewer, вызывая TView.ChangeBounds. Если назначена горизонтальная полоса скроллинга, этот метод при необходимости настраивает PgStep. См. так же: TView.ChangeBounds, TScrollBar.ChangeStep Draw procedure Draw; virtual; Перекрывается: Никогда Рисует объект TListViewer палитрой по умолчанию, вызывая GetText для каждого отображаемого элемента, принимая во внимание активные и выбранные элементы и является ли видимый элемент sfActive. См. так же: TListViewer.GetText FocusItem procedure FocusItem(Item: Integer); virtual; Перекрывается: Никогда Делает данный элемент активным, устанавливая поле Focused в Item. Этот метод так же устанавливает поле Value вертикальной полосы скроллинга (если есть) в Item и настраивает поле TopItem. См. так же: TListViewer.IsSelected, TScrollBar.SetValue GetPalette function GetPalette: PPalette; virtual; Перекрывается: Иногда Возвращает указатель на палитру по умолчанию. GetText function GetText(Item: Integer; MaxLen: Integer): String; virtual; Перекрывается: Всегда Это абстрактный метод. Порожденные типы должны определить механизм для возвращения строки, не превышающей MaxLen по индексу, заданному в Item. См. так же: TListViewer.Draw IsSelected function IsSelected(Item: Integer): Boolean; virtual; Перекрывается: Никогда Возвращает True, если Item активный, т.е. если Item = Focused. См. так же: TListViewer.FocusItem HandleEvent procedure HandleEvent(var Event: TEvent); virtual; Перекрывается: Редко Обрабатывает события, вызывая TView.HandleEvent. Отметки мышкой и "автоматические" движения по списку будут изменять активный элемент. Активные элементы могут быть выбраны двойным нажатием мышки. Обрабатываются события от клавиатуры: пробел выбирает текущий активный элемент; клавиши стрелок, PgUp, PgDn, Ctrl-PgUp, Ctrl-PgDn, Home и End изменяют активный элемент. Наконец общие сообщения от полос скроллинга обрабатываются, изменяя активный элемент и перерисовывая видимый элемент. См. так же: TView.HandleEvent, TListViewer. FocusItem SelectItem procedure SelectItem(Item: Integer); virtual; Перекрывается: Иногда Абстрактный метод для выбора элемента, индексируемого через Item. См. так же: TListViewer.FocusItem SetRange procedure SetRange(ARange: Integer); Устанавливает поле Range в ARange. Если вертикальная полоса скроллинга была задана, ее параметры настраиваются. Если текущий активный элемент выходит за новый Range, поле Focused устанавливается в 0. См. так же: TListViewer.Range, TScrollBar.SetParams SetState procedure SetState(AState: Word; Enable: Boolean); virtual; Перекрывается: Редко Вызывает TView.SetState для изменения состояния объекта TListViewer, если Enable - True. В зависимости от аргумента AState это приводит к отображению или скрытию видимого элемента. Дополнительно, если AState - sfSelected и sfActive, полосы скроллинга перерисовываются; если AState - sfSelected, но не sfActive, полосы скроллинга скрываются. См. так же: TView.SetState, TScrollBar.Show, TScrollBar.Hide Store procedure Store(var S: TStream); Вызывает TView.Store для сохранения объекта TListViewer в потоке, затем сохраняет объекты полос скроллинга (если они есть) используя PutPeerViewPtr, наконец сохраняет целочисленные поля через S.Write. См. так же: TView.Store, TListViewer.Load Палитра Списки просмотра используют палитру по умолчанию CListViewer, отображая элементы с 26 по 29-й в палитру стандартной программы. 1 2 3 4 5 +===+===+===+===+===+ CListViewer | 25| 26| 27| 28| 29| +=+=+=+=+=+=+=+=+=+=+ Активный ------+ | | | +-- Разделитель Неактивный --------+ | +------ Выбранный Сфокусированный -------+

TMenuBar Menus

+------------+ | TObject | +------+-----+ +------+-----+ | TView | +------+-----+ +------+-----+ | TMenuView | +----+---+---+ +--------+ +------+ +====+=====+ +----+-----+ | TMenuBar | | TMenuBox | +==========+ +----------+ Объекты TMenuBar представляют полосы горизонтального меню, из которого меню может быть выбрано через: - прямую отметку. - F10 и короткую клавишу. - выбор (подсветку) и нажатие Enter. - горячие клавиши. Выборы главного меню отображаются в верхней полосе меню. Они представлены объектом типа TMenuBar обычно принадлежащему объекту TApplication. Подменю отображаются в объектах типа TMenuBox. TMenuBar и TMenuBox порождаются от абстрактного типа TMenuView. Для большинства программ на Turbo Vision Вы не включаете прямо объекты меню. Перекрывая TApplication.InitMenuBar соответствующим набором вложенных вызовов New, NewSubMenu, NewItem и NewLine, Turbo Vision выполняет это. Методы Init constructor Init(var Bounds: TRect; AMenu: PMenu); Создает полосу меню, заданную через Bounds, вызывая TMenuView.Init. GrowMode установлена в gfGrouHiX. Поле Options установлено в ofPreprocess для возможности работы с горячими клавишами. Поле меню установлено в AMenu, задавая элементы меню. См. так же: TMenuView.Init, gfXXXX флаги grow mode, ofXXXX флаги опций, TMenuView.Menu Draw procedure Draw; virtual; Перекрывается: Редко Рисует полосу меню палитрой по умолчанию. Поля Name и Disabled каждой записи TMenuItem в связанном списке читаются, чтобы установить элементы меню в корректный цвет. Текущий элемент Current подсвечивается. GetItemRect procedure GetIteRect(Item: PMenuItem; var R: TRect); virtual; Перекрывается: Никогда Перекрывает абстрактный метод в TMenuView. Возвращает прямоугольник, занимаемый элементом меню в R. Используется для определения, находится ли отметка мышки в данном элементе меню. См. так же: TMenuView.GetItemRect Палитра Полосы меню, как и все видимые элементы меню, используют палитру по умолчанию CMenuView для отображения элементов со 2 по 7 в палитру стандартной программы. 1 2 3 4 5 6 +====+====+====+====+====+====+ CMenuView | 2 | 3 | 4 | 5 | 6 | 7 | +==+=+==+=+==+=+==+=+==+=+==+=+ Нормальный текст -+ | | | | +-- Короткий выбранный Запрещенный текст -----+ | | +------ Запрещенный выбранный Короткий текст -------------+ +------------ Нормальный выбранный
                              Назад | Содержание | Вперед

 

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...