No sé si el título es muy explicativo...
Para abrir un formulario, además de mediante un botón, suelo hacerlo por macro con el código siguiente:
Código: Seleccionar todo
oDoc = Thisdatabasedocument.formdocuments.getbyname("Myform").open
Código: Seleccionar todo
sub openform_in_designmode_and_add_button
Dim oParms(1) As New com.sun.star.beans.PropertyValue
oDC = createUnoService("com.sun.star.sdb.DatabaseContext") ' Servicio de Base de datos
oCon = oDC.getByName(ThisDataBaseDocument.getURL()).getConnection("","") ' Conexión con la base de destino (la misma que la de origen)
oDoc = ThisComponent.getformdocuments.getbyname("MyForm")
oDocname=oDoc.name
oParms(0).name="OpenMode"
oParms(0).value="open"
oParms(1).name="ActiveConnection"
oParms(1).value=oCon
oFormDocs = ThisComponent.FormDocuments
odoc = oFormDocs.loadComponentFromURL(oDocname, "", 0, oParms())
end sub
Tengo un formulario ("MyForm) que después de abrirlo le aplico una macro para quitarle las barras y además otra para maximizar la ventana en la que se encuentra, y otra para ponerse en el último registro.
Al abrirlo hace un baile de pantallazos (más bien parpadeos) que no lo deja ni muy estético ni muy agradable.
Se me ocurrió que si con este segundo método pudiese poner esas características en el array de propiedades, el formulario se abriría con la configuración final directamente y se evitaría tanto parpadeo. Lo que no sé es si se puede añadir las nuevas características al array, ni cómo hacerlo.
¿Alguna idea?
Gracias y un saludo!