Привязка нескольких элементов к одному свойству

Создание, использование компонентов ActiveX
GnomS
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 08.08.2006 (Вт) 9:01

Привязка нескольких элементов к одному свойству

Сообщение GnomS » 08.08.2006 (Вт) 9:07

Привет всем жителям!
Есть вот такая заморочка.
Написал я контрол для программы тестирования. Все замечательно работает и ни один год уже. Но вот не задача случилась нужно несколько свойств добавить не могу сообразить как.
На контроле есть несколько элементов Text, Picture, Label нужно сделать свойство которое управляло бы цветом фона все этих элементов. Можно конечно написать для каждого элемента свое свойство, но это не есть удобно. А так поменял одно свойство и у всех этих элементов сразу стал один цвет фона.
Подскажите пож. как это можно реализовать.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 08.08.2006 (Вт) 9:15

При Property Set самого контрола присваиваешь newvalue всем нужным.
Изображение

GnomS
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 08.08.2006 (Вт) 9:01

Сообщение GnomS » 08.08.2006 (Вт) 9:40

Немножко не понял ответ.
Если можно с маленьким примерчиком Please

GnomS
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 08.08.2006 (Вт) 9:01

Сообщение GnomS » 08.08.2006 (Вт) 10:02

Все въехал.
Так все просто.
Спосибочки

GnomS
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 08.08.2006 (Вт) 9:01

Сообщение GnomS » 08.08.2006 (Вт) 11:30

Неувязочка выходит.
при разработке формы с данным компонентом в цвете все нормально.
Но когда запускаешь на выполнение цвет меняется только у самого контрола но ни у элементов на контроле. И при закрытии формы в режиме разработке тоже цвета у элементов контрола меняются на первоначальный.
Вот пример самого контрола:
Public Property Get BackColor() As OLE_COLOR
BackColor = UserControl.BackColor
End Property

Public Property Let BackColor(ByVal New_BackColor As OLE_COLOR)
UserControl.BackColor() = New_BackColor
Label3.BackColor = New_BackColor
Picture2.BackColor = New_BackColor
Text1.BackColor = New_BackColor
PropertyChanged "BackColor"
End Property

'Load property values from storage
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
UserControl.BackColor = PropBag.ReadProperty("BackColor", &H8000000F)
End Sub

'Write property values to storage
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("BackColor", UserControl.BackColor, &H8000000F)
End Sub

Где неувязочка то?????

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.08.2006 (Вт) 11:39

теперь каждый день, не иначе, нужно будет одну и ту же ошибку разжёвывать...
Код: Выделить всё
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
BackColor = PropBag.ReadProperty("BackColor", &H8000000F)
End Sub
Изображение

GnomS
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 08.08.2006 (Вт) 9:01

Сообщение GnomS » 08.08.2006 (Вт) 12:02

Мир тебе БРАТ.
Все мы учились чему нибудь и как нибудь.
Спосибо за подсказку.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 08.08.2006 (Вт) 12:39

Есть очень хороший ActiveX Control Wizard. Он сам, как надо прописывает все события пропертей.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 08.08.2006 (Вт) 12:55

keks-n, вот как раз этот визард и генерирует нерабочий код.
Изображение

GnomS
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 08.08.2006 (Вт) 9:01

Сообщение GnomS » 08.08.2006 (Вт) 13:03

вот -вот точно сказано.
Надо отдать должное все таки ему все стандартные случаи с ним можно решить. Но шаг влево шаг вправо и он в ауте.
Но вообщем ничего.


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

    TopList