REALBasic Вопросы

В REALBasic, как мне пройти через все объекты в Window1? Есть ли свойство массива Window1 со всеми его дочерними элементами? Кроме того, как вы устанавливаете пользовательские свойства объектов: например, Me.isFlamingo = true Заранее спасибо!

2 ответа

Решение

Чтобы перебрать элементы управления в окне, используйте такой код:

  ListBox1.DeleteAllRows

  For i As Integer = 0 To Self.ControlCount-1
    ListBox1.AddRow(Self.Control(i).Name)
  Next

(Для этого примера обязательно добавьте хотя бы один ListBox в окно.)

Свойства устанавливаются так же, как вы описываете: ObjectInstance.PropertyName.

Если вы находитесь в случае перетаскивания объекта в окно, вы можете изменить его свойства, используя Me.PropertyName. В противном случае вы бы использовали имя объекта.

Добавить свойства к встроенному классу, например кнопке, можно двумя способами. Лучшим способом было бы создать подкласс класса PushBustton и добавить свойства к подклассу, как это было бы с любым пользовательским классом. Другой, несколько более уродливый способ - использовать пару перегруженных функций, например:

Function isFlamingo(Extends ByRef pb As PushButton) As Boolean
  Dim flamingo As Boolean
  //Do stuff to figure out if the PushButton is Flamingo-y
  //and Return a Boolean based on the result
  Return flamingo
End Function

А также:

Sub isFlamingo(Extends ByRef pb As PushButton, Assigns b As Boolean)
  If b Then
    //Do stuff that makes the PushButton flamingo-y
  Else
    //Do stuff that makes the PushButton not flamingo-y
  End If
End Sub
Другие вопросы по тегам