REALBasic Вопросы - PullRequest
       32

REALBasic Вопросы

1 голос
/ 03 марта 2011

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

Ответы [ 2 ]

1 голос
/ 02 апреля 2011

Добавление свойств к встроенному классу, например кнопке, можно сделать двумя способами.Лучшим способом было бы создать подкласс класса 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
0 голосов
/ 03 марта 2011

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

  ListBox1.DeleteAllRows

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

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

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

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

...