Главная » Статьи для тега "override"

Типы методов

Добавлено Дата: 29 February, 2012 категория: Delphi

Методы  объекта могут быть  описаны как статические (static),  виртуальные (virtual), динамические (dinamic) или как методы  обработки сообщения (message). Рассмотрим следующий  пример:

TFoo = class

procedure IAmAStatic;

procedure IAmAVirtual; virtual;

Читать »

Реализация нестандартного размещения

Добавлено Дата: 1 February, 2012 категория: WPF

Чтобы   написать   собственный   менеджер   размещения,  обычно  создается класс, производный от Panel. Но прежде чем перейти к деталям, ненадолго отв# лечемся  и поговорим  о том, зачем вообще может понадобиться нестандартное размещение.

Наиболее  распространенных причины  две: «алгоритмическое размещение» (желание расположить элементы,  скажем, вдоль кривой) и производительность. Но ко второй причине следует относиться  с осторожностью и не забывать фунда# ментальное  правило: для оценки производительности необходимо тестирование. Часто  программист  думает, что приложение работает  слишком  медленно  (или быстро),  не протестировав его должным  образом. Именно  ради производитель# ности и был создан элемент  UniformGrid; для равномерного  распределения эле# ментов издержки  Grid ни к чему.

Читать »

Компоненты CLX для работы с базами данных

Добавлено Дата: 31 January, 2012 категория: Delphi

В четвертом варианте компонента Spinner реализовано взаимодействие с базами данных.   При   помощи  свойств   DataSource и  DataField компонент  типа TddgDBSpinner может  подключаться к  любому  целочисленному  полю  некоторого набора данных.  На  рис. 13.7  показан компонент типа  TddgDBSpinner, подключен ный к полю VenueNo набора данных Events.

Читать »

Реализация классов TddgLaunchPad, TRunBtnItem и TRunButtons

Добавлено Дата: 29 January, 2012 категория: Delphi

Компонент TddgLaunchPad имеет  свойство типа  TRunButtons. Его реализация, как и реализация компонентов TRunBtnItem и TRunButtons, приведена в листин ге 12.11.

Листинг 12.11. LnchPad.pas — иллюстрация реализации компонента

TddgLaunchPad

Читать »

Пользовательские категории

Добавлено Дата: 28 January, 2012 категория: Delphi

Как уже было сказано, категория свойства представляется в программном коде как класс,  который является потомком класса  TPropertyCategory. Возникает вопрос: трудно ли создать  свои собственные категории свойств?  Оказывается, это не так уж и сложно. В большинстве случаев  для  этого  достаточно переопределить виртуальные функции Name() и Description() класса TPropertyCategory и тогда можно  полу чать информацию, относящуюся к данной категории.

Читать »

Пример использования функцииDefineProperty()

Добавлено Дата: 28 January, 2012 категория: Delphi

Для того  чтобы  свести  воедино всю изложенную информацию по данному  вопро су, в листинге 12.8 приведен код модуля DefProp.pas. Этот модуль иллюстрирует ис пользование функции DefineProperty() для сохранения содержимого двух полей данных, объявленных в разделе private: строкового и целочисленного.

Читать »

Регистрация редактора компонентов

Добавлено Дата: 27 January, 2012 категория: Delphi

Подобно компонентам и редакторам свойств, редакторы компонентов также должны  быть  зарегистрированы в интегрированной среде  разработки Delphi — в ме тоде  Register() модуля. Для регистрации редактора компонентов вызывается про цедура  с соответствующим именем —  RegisterComponentEditor(), —  объявленная следующим образом:

Читать »

Создание расширенного компонента VCL

Добавлено Дата: 25 January, 2012 категория: Delphi

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

Читатель уже знаком с визуальными компонентами, наподобие TButton и TEdit, и с невизуальными — такими как TTable и TTimer. В настоящем разделе рассматриваются компоненты, занимающие промежуточное положение между визуальными и невизуаль ными, — назовем их псевдовизуальными компонентами (pseudo visual components).

Читать »

Конструкторы и деструкторы

Добавлено Дата: 22 January, 2012 категория: Delphi

Создавая новый класс компонента, можно  переопределить конструктор его базо вого  класса  и установить собственный. При  этом  необходимо соблюдать некоторые меры предосторожности.

Переопределение конструкторов

Объявляя  собственный  конструктор  для  потомка  класса  TComponent,  всегда  ис

Читать »

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

Добавлено Дата: 19 January, 2012 категория: Delphi

Как уже было сказано в главе 2, “Язык программирования Object Pascal”, абстракт ный класс TОbjeсt является базовым классом,  от которого произошли все остальные классы Delphi  (см. рис. 10.1 и 10.2).

Разработчикам компонентов вовсе не обязательно создавать свои компоненты как непосредственные потомки класса  TОbjeсt. Библиотека VCL предоставляет широ кий выбор  классов потомков класса TОbjeсt, и создаваемые компоненты могут быть производными от них. Эти уже существующие  классы обеспечивают большинство функциональных  возможностей, которые могут  понадобиться новым  компонентам. Лишь  при  создании классов, не  являющихся компонентами, имеет  смысл  делать  их потомками класса TОbjeсt.

Читать »

Небольшой обзор SpinPaint

Добавлено Дата: 28 December, 2011 категория: Разработка для Windows Phone 7

Приложение SpinPaint имеет необычную историю появления. Первую его версию я написал однажды утром, будучи слушателем двухдневных курсов по разработке ПО для Microsoft Surface (это такие компьютеры размером с журнальный столик, разработанные специально для общественных мест). Та версия была написана для Windows Presentation Foundation и могла использоваться одновременно несколькими пользователями, сидящими вокруг устройства.

Читать »

Использование сенсорного ввода в игровых приложениях Windows Phone 7

Добавлено Дата: 22 December, 2011 категория: Разработка для Windows Phone 7

Часто при изучении новой среды разработки мы обзаводимся набором техник, которые не имеют никакого отношения к навыкам, необходимым для создания законченного приложения. Данная глава призвана компенсировать эту проблему, представив два весьма типовых приложения для телефона: PhingerPaint и PhreeCell. Первое – это простое приложение для рисования; второе – версия классической игры пасьянс. Третье приложение, SpinPaint, использует часть кода PhingerPaint, но обеспечивает совершенно другую функциональность.

Читать »

Изображение значений

Добавлено Дата: 8 March, 2011 категория: C#, Компоненты

используется в стандартных компонентах довольно часто. Для свойства imageindex отображается картинка, для цвета— цветной квадратик и т.д. Для свойства position компонента MinMaxControi можно отображать само значение, так же как это делает сам компонент.

Читать »

Дескрипторы свойств

Добавлено Дата: 7 March, 2011 категория: C#, Компоненты

И свойство, и событие являются частями компонента, каждая из которых описывается с помощью класса, называемого дескриптором (descriptor). Базовым классом дескриптора является класс MemberDescriptor. Два наследника этого класса являются дескриптором свойств (класс PropertyDescriptor) И дескриптором событий (EventDescriptor).

Читать »

Обработка событий мыши в режиме разработки

Добавлено Дата: 27 February, 2011 категория: C#, Компоненты

Класс controiDesigner имеет специальные методы режима разработки не только для отрисовки, но и для обработки событий мыши. Это довольно удобно, т. к. позволяет отделить код, относящийся к режиму разработки, от кода времени выполнения.

? Метод protected virtual void OnMouseEnter () ; вызывается, КОГда МЫШЬ

Читать »