|
|
|
|
#1 |
|
Участник
|
Цитата:
Там реализована только кнопка увеличения точности отображения, которая может быть применена к любой форме. Если же мне нужно переделать свойства пары контролов на форме, и я не хочу их для этого выдергивать из "автогруппы", то я просто дописываю метод на самой этой форме либо в классе управления этой формой, который при ее инициализации с помощью итератора меняет эти свойства. Пример такого метода приведен в самом первом сообщении данной темы (и в комментарии к нему ясно написано: "В коде на форме это выглядит примерно так").PS. Сперва очень долго не мог понять, при чем тут вообще SysSetupForm - мне и в голову не могло прийти совать в него код, специфичный для особенностей дизайна какой-то одной конкретной формы. Последний раз редактировалось gl00mie; 15.09.2010 в 12:42. |
|
|
|
|
#2 |
|
Роман Долгополов (RDOL)
|
Цитата:
Сообщение от gl00mie
А откуда взялось мнение, что всё вышеописанное реализуется в SysSetupForm?
Там реализована только кнопка увеличения точности отображения, которая может быть применена к любой форме. Если же мне нужно переделать свойства пары контролов на форме, и я не хочу их для этого выдергивать из "автогруппы", то я просто дописываю метод на самой этой форме либо в классе управления этой формой, который при ее инициализации с помощью итератора меняет эти свойства.Но пара контролов на форме это пушкой по воробьям. Чем element.design().controlName() то не угодил? Вроде прекрасно достает контролы из автогрупп. Или уже не достает и я отстал от жизни? |
|
|
|
| За это сообщение автора поблагодарили: mazzy (2). | |
|
|
#3 |
|
Участник
|
Цитата:
Реализуется метод в форме. Но вызов то идет из SysSetupForm. Это и есть friend. Т.е. либо метод надо делать публичным, либо френдить SysSetupForm. Поэтому SysSetupForm получается френдом для очень многих форм (другими словами, SysSetupForm слишком много знает о деталях реализации других форм), что приводит к снижению инкапсюляции. (пусть в Аксапте нет ключевого слова friend. но смысл то и проблемы не меняются) Цитата:
Если определяется класс, который не реализует математических объектов вроде матриц или комплексных чисел и не является типом низкого уровня наподобие связанного списка, то:
[а] Не используйте глобальных данных. [b] Не используйте глобальных функций (не членов). [c] Не используйте общих данных-членов. [d] Не используйте функции friend (но только для того, чтобы избежать [а], [b] или [c]). [e] Не обращайтесь к данным-членам другого объекта непосредственно. [f] Не заводите в классе "поле типа"; используйте виртуальные функции. [g] Используйте функции-подстановки только как средство значительной оптимизации. ... Отметим, что общие базовые классы и друзья (friend) являются частью общего интерфейса класса (см. $$5.4.1 и $$12.4). Последний раз редактировалось mazzy; 16.09.2010 в 10:04. Причина: добавил цитаты из Страуструпа |
|
|
|
|
#4 |
|
Роман Долгополов (RDOL)
|
Цитата:
не в счет - он на своем месте). Все остальные специфичные для отдельных форм вещи реализуются прямо на этих отдельных формах
|
|
|
|
| За это сообщение автора поблагодарили: tricky (1). | |
| Теги |
| design, form, formreferencegroupcontrol, дизайн, законченный пример, итератор, округление, полезное, форма |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|