InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Построение компонент в C++Builder


Введение


Прежде чем приступить к написанию компонент, больше, чем где-нибудь еще в C++Builder, важно решить, что же вы на самом деле хотите сделать. Построение компонент - одна из наименее RAD-ориентированных вещей в C++Builder. Очень возможно, что вы сэкономите кучу времени, если заранее решите, что же именно ваш компонент должен делать, и как он должен это делать, прежде чем начать программировать.

Проект


Один из проектов автора статьи в Билдере - сконвертировать текстовый симулятор в нечто с удобным GUI интерфейсом (этот симулятор используется для изучения архитектуры компьютеров и языка ассемблер). Для такого проекта было бы неплохо иметь индикатор для отображения нулевых или единичных значений, и, хотя удобно было бы воспользоваться стандартным компонентом, ни один из них не имеет таких свойств.

Основные принципы


Первое, с чего следует начать при написании компонента - это решить, что именно он должен делать. Компонент, который я хочу создать, должен быть одного цвета, когда он включен, и другого, когда выключен. Он также должен иметь свойство On/Off. OK, это звучит очень просто, но помните, что первое правило, когда начинаешь что-нибудь делать - пытаться сохранить проект простым!

Следующий шаг - решить, на каком компоненте будет основан наш. Здесь самое время взглянуть на иерархию VCL. Сразу становится ясно, что наш компонент будет разновидностью TGraphicControl, и уж если мы хотим сохранить компонент простым, почему бы не сделать его простой окружность вместо сложного битмапа. TShape на первый взгляд, кажется идеальным. Давайте познакомимся с ним поближе (это можно сделать с помощью хелпа или просто, поместив его на форму и внимательно взглянув на его свойства и методы). Что ж, у него имеется несколько не нужных нам свойств и методов, но, по крайней мере, в него встроена вся нужная нам функциональность.

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

Все, что мы хотим сделать - это сменить форму компонента на ту, которая нам нужна и менять цвет кисти, когда индикатор включается или выключается.Это все довольно просто, и сейчас, когда мы это продумали, можно приступать к делу. 

[Вперед]


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua