Отправляет email-рассылки с помощью сервиса Sendsay

Интеллект сервис (Новости)

  Все выпуски  

Бухта дельфинов (Виртуальный клуб начинающих программистов)


Информационный Канал Subscribe.Ru


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

Выпуск № 3

Новости

История компьютеризации России. Так называется новая тема на мелководье. В сокровищнице пополнение в разделе "Свойства, методы, события, классы." В сокровищнице открыт раздел с готовыми программами (или их описаниями). Присылайте и вы свои творения, если возможно, то с исходниками. Будем разбирать по косточкам ваши коды и писать жалобы на функциональность (или похвалы). Запросто можно найти тестеров. Ведь они так нужны любому программеру. Причем как правило - халява. (Иногда тестерам платят и не мало).

Свойства, методы, события, типы, классы

Align

Продолжение. Начало в выпуске № 2 и на сайте.

Если компонент имеен значение Align, равное alClient, то в процессе проектирования невозможно добраться до содржащего его контейнера и щелкнуть на нем, чтобы получить в Инспекторе Объектов его свойства и события. В этом случае возможны два решения: щелкнуть на компоненте и нажать клавишу Esc или осуществить выбор компонента-контейнера с помощью выпадающего списка в верхней части Инспектора Объектов.

Значения Align alTop и alBottom имеют приоритет перед alLeft и al Right. Поэтому, если вы, например, ввели на форму две панели, одной задали значение alLeft, а второй задаете значение alTop, товторая панель вытеснит верхнюю часть первой панели, которая первоначально заняла всю левую часть клиентской области. Если это нежелательно, приходится вводить дополнительные панели, являющиеся контейнерами для других панелей.

В Delphi 6 введено значение выравнивания alCustom (заказное) и тип TAlignSet - множество значений выравнивания. Если какие-то дочерние компоненты контейнера имеют значение Align = alCustom, то в компоненте - контейнере можно перегрузить виртуальный метод CustomAlignPosition, который будет автоматически вызываться каждый раз при изменении размеров контейнера. для каждого дочернего компонента, имеющего Align = alCustom и Visible = true. Этот метод объявлен следующим образом (учтите, что во встроенной справке Delphi 6 его объявление не верное) :

procedure CustomAlignPosition (Control: TControl;
    var NewLeft, NewTop, NewWidth, NewHeight: Integer;
    var AlignRect: TRect; AlignInfo: TAlignInfo); virtual;

Параметр Control - выравниваемый компонент. Параметры NewLeft, NewTop, NewWidth, NewHeight можно изменять, задавая новые координаты левого верхнего угла, ширину и высоту. Параметр AlignRect определяет область выравнивания, но не для данного компонента, а для следующего. Параметр AlignInfo определяет запись типа TAlignInfo, содержащую сведения о выравнивании дочерних компонентов контейнера:

TAlignInfo = record
    AlignList : TList;
    ControlIndex : Integer;
    Align : TAlign;
    Scratch : Integer;
end;

Продолжение в следующем номере.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное