Совет как разместить регион в центре. Не так давно обдумывал данный вопрос и хочу поделиться, может кому еще пригодится.

Регион задается рамкой в виде значений Left, Top, Width, Height. Где Left,Top это положение начала регоина, а width, height соответственно ширина и высота. Указанные нами значения могут иметь разную интерпретацию, в зависимости от способа присоединения и объекта отчета координат. Например можно взять Left, Top от канвы окна, а можно локально от другого региона. ? вот когда мы указываем kFBAttachCenter, то значение середины родительской рамки.

В качестве примера такой вариант, пусть есть две рамки и вторая размещается всегда ровно в центре первой с размерами 200×200. Для вторую рамку нужно задать следующим образом

X = -100 (kFBAttachCenter) от региона 1
Y = -100 (kFBAttachCenter) от региона 1
Width = 100 (kFBAttachCenter) от региона 1
Height = 100 (kFBAttachCenter) от региона 1

Есть маленькая поправка к задаче, когда нужно поместить рамку в центр окна, заданного layout. Здесь потребуется задать вспомогательный регион, выравнять его полностью по всему layout и только тогда центровать нужную рамку, описанным выше способом.

C++ code (exported from UIBuilder tool) — centerRegion2

MotionBuilder UI, как центровать регион
Метки:            

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *