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

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

Панели инструментов

Панели инструментов, строго говоря, не относятся к декоративным эле­ментам окна, но они попадают в рамки той же темы, поэтому я кратко их коснусь. Панель инструментов (toolbox) — это просто вторичная форма, которая содержит кнопки быстрого доступа. Вы могли заметить, что такие панели инструментов, как палитра выравнивания и инспектор объектов C++Builder, имеют меньшие размеры строки заголовка, чем обычные окна. Такие строки заголовка создаются установкой для свойства BorderStyle зна­чения bsSizeToolWindow (для панелей инструментов с изменяемыми разме­рами) или bsToolWindow (для панелей инструментов с фиксированными раз­мерами). За исключением этого отличия, панель инструментов представляет собой просто форму другого вида.

Управление доступом к командам

Управление доступом к командам (command enabling) — это разрешение или запрещение доступа к кнопкам или пунктам меню в зависимости от текущего состояния программы. Например, если в текстовом редакторе будет разрешен доступ к кнопкам Cut или Сору (или к соответствующим пунктам меню) в то время, когда в нем не выделен текст, это не принесет никакой пользы. Точно так же, если в буфере обмена не содержится какого-либо текста, кнопку Paste следует заблокировать.

Управление доступом к командам не очень сложно, но требует времени. От вас потребуется уделять внимание некоторым деталям.

Проблемы управления доступом к командам

Вы можете управлять доступом к командам в любое время и любым способом. Чтобы разрешить доступ к пункту меню или кнопке оперативной панели, нужно просто установить для свойства Enabled соответствующего компонента значение true. Чтобы запретить доступ к компоненту, измените значение свойства Enabled на false. Само по себе разрешение или запрещение доступа к компоненту действительно является простой операцией. Основная же работа состоит в том, чтобы создать код, который будет определять, когда и как запрещать или разрешать доступ. Чтобы перевести разговор в прак­тическое русло, вернемся к программе Scratchpad. Мы доработаем ее, добавив управление доступом для пунктов меню Cut, Сору и Paste. (Я сказал для пунктов меню, имея в виду все элементы управления программой: пункты главного меню, кнопки оперативной панели и пункты контекстного меню.)

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