Страница: 1 |
Здравствуйте! Сморите: Pivate sub property dim a as byte a=inputbox("Введите А") Label(a).BackColor="red" end sub Я думаю, понятно что требуется. Напишите если кто знает как это делается по-другому. Если писать так, как есть то выдается сообщение об ошибке "Процедура Sub или Function не определена"
Pivate sub property Попробуй Pivate sub property() Наверное ты неправильно написал имя контрола Вот проверь имена контролов Я в принципе тебе уже ответил. Private Sub Form_Click() Sub ChangeControlColor(Index) Хм. Насчёт цветов несколько перестарался. Но это не такая уж сложная проблема. Сам сделаешь. Предлагаю сделать так. Dim cnt As Control For Each cnt In Form1.Controls If VBA.TypeName(cnt) = "Label" Then cnt.Backcolor = "red" End If Next А для всех форм For each form in forms Страница: 1 |
Вопрос: Доступ к свойтвам элементов управления через по...
Добавлено: 09.11.02 15:09
Автор вопроса: Vasd | Web-сайт:
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #1
Добавлено: 09.11.02 17:27
Номер ответа: 2
Автор ответа:
ГАТ
Вопросов: 2
Ответов: 117
Web-сайт:
Профиль | | #2
Добавлено: 10.11.02 04:56
А я так и непонял, что требуется. Если у тебя массив Label(), то непонятно, зачем определять индекс массива как Byte. А если это не массив, то естественно VB воспринимает Label() как обрадение к функции или процедуре.
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 10.11.02 14:27
Label->Label1
for each control in form1
if control.name="Label" then msgbox"Есть такой контрол",64,control.name
next
Номер ответа: 4
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #4
Добавлено: 11.11.02 02:22
Дело только в деталях.
LabelNumber = InputBox("Введите номер метки")
ChangeControlColor LabelNumber
End Sub
'массив цветов для функции QBCOLOR
'если не знаешь, то
'0-чёрный,1-синий,2-зелёный,3-голубой,4-красный,5-малиновый,6-жёлтый,7-белый,8_15-полутона
ColorsArray = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
'Подставь свои значения. Например что-бы получить
'label1-зелёный,label2-красный поставь
'(0, 2, 4, ...)
ArrColor = Index Mod 16
SearchControl = "Label" & LTrim(Str(Index))
For Each Control In Form1
If Control.Name = SearchControl Then Control.BackColor = QBColor(ColorsArray(ArrColor))
Next
End Sub
Номер ответа: 5
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #5
Добавлено: 11.11.02 02:32
Номер ответа: 6
Автор ответа:
ГАТ
Вопросов: 2
Ответов: 117
Web-сайт:
Профиль | | #6
Добавлено: 11.11.02 06:46
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 11.11.02 14:57