Страница: 1 |
Вопрос: CallByName
Добавлено: 07.06.05 13:02
Автор вопроса: Black Dragon | Web-сайт: в разработке | ICQ: 321186096
Привет всем!
В общем, я юзаю функцию CallByName. Есть строковая переменная, strObject, которая содержит строковую ссылку на какое-то свойство (к примеру, "Label1.Font"). Как по этой строке получить объект Label1.Font?
Я проверял: юзая Call CallByName(Label1.Font, "Bold", vbLet, True
Все получалось.
Помогите, плиз, ооооочень нужно!
Ответить
Номер ответа: 1Автор ответа: LamerOnLine
ICQ: 334781088 Вопросов: 108Ответов: 2822
Профиль | | #1
Добавлено: 07.06.05 13:48
Получить объект Label1 можно
Dim UserObject
As Object ' Control
Set UserObject =
Me .Controls(
CStr (Split(strObject, "."
(0)))
Получить ссылку на членов объекта, ИМХО, не удасться.
Ответить
Номер ответа: 2Автор ответа: GSerg
Вопросов: 0Ответов: 1876
Профиль | | #2
Добавлено: 07.06.05 14:32
Option Explicit
Private Const foo
As String = "Label1.Font"
Private Sub Command1_Click()
GetLastObject(foo).Bold =
True
End Sub
Private Function GetLastObject(s
As String )
As Object
Dim v
As Variant , i
As Long
v = Split(s, "."
Set GetLastObject =
Me .Controls(
CStr (v(
LBound (v))))
For i =
LBound (v) + 1
To UBound (v)
Set GetLastObject = CallByName(GetLastObject, v(i), VbGet)
Next
End Function
Ответить
Страница: 1 |
Поиск по форуму