如何将用户定义的控件添加到 VFP 中的窗体

How to add a user defined control to a form in VFP

您好:我用 Visual Foxpro 9 的可视化 IDE 创建了一个非常简单的用户定义控件(容器),并将其存储到 VCX 文件中 (sisweb.vcx)

之后,我创建了(可视化的)表单,并在 INIT 事件中尝试实例化之前的容器控件并添加到表单中:

oContainer=newobject("xContainer","sisweb.vcx")
ThisForm.AddObject("Contx","oContainer")
ThisForm.Contx.Width=230

不幸的是,当尝试添加容器对象时,出现了一个错误,指出 oContainer 不存在。

你能帮帮我吗?

当您想在 运行 时动态添加一个对象时,您可以执行类似

的操作
Thisform.NewObject("Contx", "xContainer", "sisweb.vcx")
Thisform.Contx.Width = 230
Thisform.Contx.Visible = .T.

显式分配 Visible 属性 很重要。

另一方面,您也可以将其添加到设计器中 "visually",方法是将其从项目管理器的 "Classes" 选项卡中拖出,或使用表单的书架图标 / Class Designer 的 "Controls" 工具栏,或 "Tools" 菜单中的 "Toolbox"