首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向现有xojo对象添加新方法

如何向现有xojo对象添加新方法
EN

Stack Overflow用户
提问于 2014-06-26 04:59:19
回答 2查看 632关注 0票数 1

我有一个包含多个列表框的xojo应用程序。其中一个列表框对象名为DLBObject。我只想将新方法添加到DLBObject中,这样就可以使用点符号调用这些方法。例如DLBObject.DayForward。我该怎么做?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-06-26 05:35:04

创建一个新类,将其命名为"MyListBox",并将其超级名称设置为"ListBox“。

将您的方法添加到该类中。

然后,在窗口中,将每个列表框的Super从" listbox“更改为"MyListBox”(显示检查器以查看列表框控件的属性)。

现在,这些列表框使用您创建的新扩展类,并具有您添加的那些新方法。

票数 3
EN

Stack Overflow用户

发布于 2014-06-28 06:33:55

Thomas的回答是扩展内置类功能的常用方法,子类化通常是您想要做的。

然而,有时你想让所有不同的列表框和它们的子类,甚至是你可以使用的类的所有类型的控件或父类(例如RectControl)都可以使用功能。

为此,您可以在模块中创建全局方法,该模块的第一个参数是您想要扩展的类的类型,并以"Extends“关键字为前缀。例如:

代码语言:javascript
复制
Sub AppendToColumn(Extends sender As Listbox, value As String, column As Integer)
  if sender.ListCount > 0 and column > -1 and sender.ColumnCount > column then
    for rowIndex As integer = 0 to sender.ListCount - 1
      sender.Cell(rowIndex, column) = sender.Cell(rowIndex, column) + value
    next
  end if
End Sub

然后你就可以在任何列表框上使用该函数了。

代码语言:javascript
复制
DLBObject.AppendToColumn(" wibble", 0)

或者..。

代码语言:javascript
复制
me.AppendToColumn(" wobble", 1)

在列表框的作用域内。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24418453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档