Кент Рейсдорф. BORLAND C++BUILDER. Раздел 3

Кент Рейсдорф. BORLAND C++BUILDER. Страница 366

Для динамического изменения состава оперативной панели существует множество способов. Один из них заключается в определении двух массивов кнопок быстрого доступа. Первый массив содержит все доступные кнопки, а другой — только те, которые должны быть показаны в данный момент. Позиции кнопок должны каждый раз вычисляться заново, чтобы они всегда располагались рядом. Чтобы упростить пользователю работу, можно еще боль­ше усложнить задачу, объединив кнопки в группы. Это означает, что кнопки не могут быть просто размещены рядом. Массив ваших кнопок мог бы еще содержать нули в тех местах, где должны находиться разделители... Как видите, задача усложняется все больше и больше.

Но не отчаивайтесь! Существует и более простой способ. Чтобы упростить задачу, вы можете воспользоваться преимуществами компонента Notebook (Записная книжка). Notebook — это компонент-контейнер, который разра­ботан для хранения других компонентов. В этом отношении он подобен ком­поненту Panel. Однако между ними есть и различие, которое заключается в том, что записная книжка может иметь много страниц. Во время разработки вы размещаете различные группы компонентов на страницах записной книж­ки, а при выполнении программы переключаете страницы, чтобы отобразить нужную в данный момент группу.

Как вы уже поняли, мы можем использовать компонент Notebook для переключения между оперативными панелями. Достаточно поместить запис­ную книжку в форму и создать отдельную страницу для каждой оперативной панели. Затем на страницах записной книжки мы разместим наборы кнопок быстрого доступа. Начните с пустой формы, а затем шаг за шагом выполните приведенные ниже инструкции.

1. Поместите компонент Notebook в форму (убедитесь, что вы выбрали имен­но компонент Notebook, а не Tabbed Notebook). Измените значение свой­ства Height на 33 и установите для свойства Align значение alTop. При этом панель всегда будет располагаться вплотную к верхней границе формы.

Web-дизайн (с) 2010 All rights reserved