2016-06-04 4 views
0

Есть ли способ скрыть кнопки и другие вещи в вашей форме при редактировании? Я хочу сделать очень расширенный интерфейс, и в одном месте может быть до нескольких кнопок одновременно, поэтому невозможно работать так, не скрывая других кнопок. «Видимая» переменная работает только при запуске программы, поэтому я понятия не имею, что делать ... Любые идеи?C++ Builder скрывает элементы формы при редактировании

EDIT: можете ли вы сделать его НЕВИДИМЫМ, а не только отправить его обратно?

+0

Похоже, что вы делаете свой интерфейс слишком сложным, или вы настраиваете вещи во время разработки, которые, вероятно, должны быть настроены динамически во время выполнения. –

+0

Когда я устанавливаю компоненты в видимом свойстве формы в false, они исчезают. Это использует FMX, с версией 10. –

ответ

1

По умолчанию элементы управления не могут быть невидимыми во время разработки. Для того, чтобы «скрыть» управления, вы должны либо:

  1. удалить его из формы в целом

  2. физически переместить его за пределы его контроля Материнской

  3. положил его на TabSheet TPageControl, а затем переключитесь на другой TabSheet.

  4. возможно найти (или написать) редактор компонента пользовательского, который может переключать видимость во время разработки элемента управления (имеется csDesignerHide флага в TControl.ControlState собственности, которые могут быть переключены с помощью TControl.SetDesignVisible() метода открытого).

0

Как сказал Реми, вы не можете этого сделать, в IDE. Конечно, вы можете сделать это в коде во время выполнения, но это не поможет во время разработки.

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

В противном случае вы можете использовать параметр PageControl и поместить каждую настройку в другую таблицу. При необходимости вы можете повернуть вкладки PageControl. Это то, что часто делают диалоги мастера.

+0

Я знаю о фреймах, но проблема в том, что при запуске нового фрейма он создает новое окно. Я попытался найти любой способ сделать «Рамку» без нового окна, но я не мог найти его нигде. Если это возможно, я был бы очень рад узнать решение :) – HardnerPL

+0

В дизайнере он отдельный, но его можно более или менее использовать как сложный компонент. Это не окно. –

Смежные вопросы