AddObject (Método)
16/03/2020
Agrega un objeto a un objeto Container en tiempo de ejecución.
Object.AddObject(cName, cClass [, cOLEClass] [, aInit1, aInit2 ...])
Parámetros
cName
Especifica el nombre empleado para hacer referencia al objeto nuevo.cClass
Especifica la clase de objeto que se va a agregar.cOLEClass
Especifica la clase OLE del objeto que se va a agregar.Nota Si piensa distribuir aplicaciones en el entorno de tiempo de ejecución que agreguen controles ActiveX que necesiten información de claves de licencia (por ejemplo, los controles Microsoft Treeview y Listview), no es recomendable que utilice el método AddObject(.....cOLEClass). En su lugar, cree y guarde una subclase del control ActiveX en una biblioteca de clases VCX. A continuación, en tiempo de ejecución, podrá utilizar el método AddObject (o NewObject) para agregar esta clase OleControl que contiene el control.
aInit1, aInit2
Especifica los parámetros que se pasan al evento Init del nuevo objeto.
Observaciones
Al llamar al método AddObject se desencadena el evento Init del objeto que se agrega. Cuando se agrega un formulario a un conjunto de formularios, se produce el evento Load antes que el evento Init.
**Nota **Al utilizar AddObject para agregar un objeto a un contenedor, la propiedad Visible del objeto se establece en el valor falso (.F.), para permitirle definir las propiedades del objeto sin efectos visuales no deseados a medida que se modifique la apariencia del objeto.
Si utiliza el método AddObject( ) para agregar dinámicamente un control ActiveX a un formulario, es posible que la aplicación distribuida produzca un error si el control necesita ciertas claves de registro de licencia que no se encuentran disponibles en la máquina de destino. Muchos proveedores de controles ActiveX requieren tales claves de registro para manipular estos controles en tiempo de diseño, como se hace con el método AddObject( ). Para evitar este requisito de licencia, cree primero una subclase del control ActiveX en un archivo de biblioteca de clases (.vcx); a continuación, utilice AddObject( ) para agregar una instancia de la subclase, dinámicamente, en tiempo de ejecución. Es recomendable que consulte siempre al proveedor de cualquier control ActiveX que piense distribuir con la aplicación personalizada, puesto que puede haber otros archivos dependientes que necesite incluir.
Ejemplo
El ejemplo siguiente demuestra cómo puede utilizar el método AddObject para agregar objetos o controles a un formulario. AddObject se utiliza para agregar un control Line y tres botones de comando al formulario.
La propiedad Visible se establece en el valor verdadero (.T.) para el control Line y los botones de comando. De forma predeterminada, los objetos y controles no son visibles cuando se agregan a un formulario.
frmMyForm = CREATEOBJECT('Form') && Create a Form frmMyForm.Closable = .F. && Disable the Control menu box frmMyForm.AddObject('shpLine','Line') && Add a Line control to the form frmMyForm.AddObject('cmdCmndBtn1','cmdMyCmndBtn1') && Up Cmnd button frmMyForm.AddObject('cmdCmndBtn2','cmdMyCmndBtn2') && Down Cmnd button frmMyForm.AddObject('cmdCmndBtn3','cmdMyCmndBtn3') && Quit Cmnd button frmMyForm.shpLine.Visible = .T. && Make Line control visible frmMyForm.shpLine.Top = 20 && Specify Line control row frmMyForm.shpLine.Left = 125 && Specify Line control column frmMyForm.cmdCmndBtn1.Visible =.T. && Up Command button visible frmMyForm.cmdCmndBtn2.Visible =.T. && Down" Command button visible frmMyForm.cmdCmndBtn3.Visible =.T. && Quit Command button visible frmMyForm.SHOW && Display the form READ EVENTS && Start event processing DEFINE CLASS cmdMyCmndBtn1 AS COMMANDBUTTON && Create Command button Caption = 'Slant \<Up' && Caption on the Command button Left = 50 && Command button column Top = 100 && Command button row Height = 25 && Command button height PROCEDURE Click ThisForm.shpLine.Visible = .F. && Hide the Line control ThisForm.shpLine.LineSlant ='/' && Slant up ThisForm.shpLine.Visible = .T. && Show the Line control ENDDEFINE DEFINE CLASS cmdMyCmndBtn2 AS CommandButton && Create Command button Caption = 'Slant \<Down' && Caption on the Command button Left = 200 && Command button column Top = 100 && Command button row Height = 25 && Command button height PROCEDURE Click ThisForm.shpLine.Visible = .F. && Hide the Line control ThisForm.shpLine.LineSlant ='\' && Slant down ThisForm.shpLine.Visible = .T. && Show the Line control ENDDEFINE DEFINE CLASS cmdMyCmndBtn3 AS CommandButton && Create Command button Caption = '\<Quit' && Caption on the Command button Cancel = .T. && Default Cancel Command button (Esc) Left = 125 && Command button column Top = 150 && Command button row Height = 25 && Command button height PROCEDURE Click CLEAR EVENTS && Stop event processing, close Form ENDDEFINE
Vea también
Referencias
Artículo original: AddObject (Método)
Autor: Microsoft