[RESUELTO] Acceder a una autoforma a partir de un evento

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] Acceder a una autoforma a partir de un evento

Notapor anersan » Lun Oct 12, 2015 6:24 pm

Saludos!

Tengo una duda sobre las autoformas

Dejo adjunto un ejemplo sencillo, que se verá más claro.

Tengo 3 botones y lo que me gustaria saber es cual es la posición en Y de la autoforma del botón que he pulsado
Para ello me sirvo de la función .VertOrientPosition
Puedo saber la posición de cada autoforma, recorriendo los indices de cada una.
Pero cómo sé cuál es la autoforma correspondiente al botón que pulsé?
Me explico:
Puedo acceder fácilmente al modelo del control del botón que he pulsado con Event.Source.getModel (puedo saber el nombre, cambiarlo, cambiar la etiqueta...)
Pero existe algo equivalente para acceder a la autoforma a partir solamente del evento??
(para saber la posicion, o cambiar el color de fondo o lo que sea)

Gracias de antemano!!
Adjuntos
AutoEvent1.ods
(14.7 KiB) 37 veces
Última edición por mauricio el Mar Oct 13, 2015 9:25 pm, editado 2 veces en total
Razón: Marcar icono de resuelto
Libre Office 3 en Ubuntu 12.04
Avatar de Usuario
anersan
 
Mensajes: 41
Registrado: Vie Ene 18, 2013 8:38 pm

Re: Acceder a una autoforma a partir de un evento

Notapor mauricio » Lun Oct 12, 2015 9:18 pm

No, no la hay...

Puedes usar la propiedad PosSize para obtener el valor Y (o X) directamente, la única diferencia es la unidad de medida en pantalla...
Código: Seleccionar todo   Expandir vistaContraer vista
MsgBox "El botón que pulsaste es " & Event.Source.getModel.getName & " y su posicion Y es: " & Event.Source.PosSize.Y

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5989
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

[RESUELTO] Acceder a una autoforma a partir de un evento

Notapor anersan » Lun Oct 12, 2015 9:50 pm

Hey Mauricio,

Algo asi andaba buscando.

Efectivamente, esa unidad es muy extraña.
Si desplazo uno de los botones a la posicion Y=1000 (1 cm), la propiedad "PosSize.Y" me devuelve el valor 53 (??)
Yo diría que se trata de un submúltiplo de alguna medida del sistema inglés. De una milla? Vete a saber...

En cualquier caso me has resuelto el problema :)

Muchas gracias !!
Libre Office 3 en Ubuntu 12.04
Avatar de Usuario
anersan
 
Mensajes: 41
Registrado: Vie Ene 18, 2013 8:38 pm

Re: Acceder a una autoforma a partir de un evento

Notapor mauricio » Lun Oct 12, 2015 10:34 pm

No, si mal no recuerdo deben de ser pixeles o alguna otra medida de pantalla, cuando he tenido que usarlas una simple regla de tres resuelve el problema de posicionar donde quieras...

Saludos

P.D. Recuerda que tu tema inicial es el que hay que marcar como RESUELTO, gracias.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5989
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado