REAL基本问题

Posted

技术标签:

【中文标题】REAL基本问题【英文标题】:REALBasic Questions 【发布时间】:2011-03-03 00:46:44 【问题描述】:

在 REALBasic 中,如何循环遍历 Window1 中的所有对象? Window1 的所有子项是否有一些数组属性?另外,如何设置对象的自定义属性:例如Me.isFlamingo = true 提前致谢!

【问题讨论】:

【参考方案1】:

向内置类(如按钮)添加属性可以通过两种方式完成。更好的方法是继承 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

【讨论】:

【参考方案2】:

要遍历窗口上的控件,请使用如下代码:

  ListBox1.DeleteAllRows

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

(对于本例,请确保在窗口中添加至少一个 ListBox。)

按照您的描述设置属性:ObjectInstance.PropertyName。

如果您遇到的对象已被拖到窗口中,那么您可以使用 Me.PropertyName 修改其属性。否则,您将使用对象名称。

【讨论】:

感谢您对控件进行迭代,这是一个巨大的帮助! 但是,当我尝试设置 Me.isFlamingo 时出现此错误:Code, Window1.ShowTextBtn.Action, line 1, This method or property does not exist, Me.isFlamingo = "Hello" 还是不行。如果我试图设置一个不标准的属性,它会给我一个错误。这是一个按钮,如果我尝试设置自定义属性,它就不起作用。 PushButton 不能有自定义属性。您必须先对其进行子类化,然后在窗口上使用子类。您如何添加“自定义属性”? 只需一个 PushButton.isFlamingo

以上是关于REAL基本问题的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 多页混乱

基本数据结构

Complex 类的基本函数

关于c语言的数据类型real_T,int_T和real,int的区别

请教使用DevExpress中怎么实现Real-Time Chart,多谢

Matlab基本函数-conj函数