Наследования окон

Создаю деталь. Окно детали наследуется от wnd_BaseGridArea.
Когда пытаюсь удалить кнопки (добавить, копировать...), они удаляются. Но после сохранения и переоткрытия файла, они снова на месте. Неужели контролы, которые наследуются удалить нельзя?

Нравится

7 комментариев

Нет, если Вы наследуете окно от некоторого базового окна, оно сохраняет все его свойства и все объекты, которые содержит базовое окно.

Вы можете скрывать кнопки перед открытием окна, установив его атрибуту HideButtonsFrame значение true. Если все кнопки скрывать нет необходимости, установите нужным кнопкам свойство IsVisible равным false во время инициализации окна. Альтернативный вариант - не наследовать окно от базового, но в этом случае Вам придётся определить для него собственные обработчики событий.

Спасибо. Еще хотелось бы уточнить.
Пробовал в окне детали делать скрытие панели кнопок по событию onShow окна детали, но там скрытие панели не происходит, хотя событие отрабатывается. Почему так?

Лучше на OnPrepare. Должно сработать

Если Вы выполняете это действие путём установки значения атрибута HideButtonsFrame, то при обработке события OnShow окна это делать уже поздно. Проверка данного атрибута происходит во время обработки события OnPrepare в функции InitializeGridArea, следовательно, установить атрибут необходимо до выполнения базового обработчика. Например, так:

function Initialize(Window) {
	SetAttribute(Window, 'HideButtonsFrame', true);
}
..........
function wnd_MyGridAreaOnPrepare(Window) {
	Initialize(Window);	
	wnd_BaseGridAreaOnPrepare(Window);
}

А как вернуть атрибуту HideButtonsFrame значение false?
У меня три DataGridView, на одном из них двойной клик срабатывать не должен, в обработчике смены ActiveView изменяю этот атрибут, после того как фрэйм с кнопками стал невидимым (SetAttribute(Self,'HideButtonsFrame', true)), то видимым он уже не становится: SetAttribute(Self,'HideButtonsFrame', false) - не делает фрэйм с кнопками видимым...

вобщем нужно присваивать свойству IsVisible фрэйма с кнопками значение true... как то не логично получается при установке параметра HideButtonsFrame в true свойсвто фрэйма изменяется, а при установке в false - нет...

Скрытие реализуется установкой свойства IsVisible в false. Атрибут же HideButtonsFrame заполняется для того, чтобы извне проверить видимость. То, что по установке HideButtonsFrame в false также устанавливается и IsVisible в false - это логично, но, в принципе, это разные вещи (установка атрибута и скрытие фрейма). Этим и можно объяснить то, что не реализована связка установка true - установка true для атрибута и свойства.

Показать все комментарии