contar los botones en un dialog, detectar el tipo de c/u

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

contar los botones en un dialog, detectar el tipo de c/u

Notapor arivas_2005 » Jue Dic 14, 2017 6:24 pm

Saludos.
Estoy necesitando hacer conteo de botones en un dialog y luego revisar el tipo de cada boton
Lo estoy intentando con este codigo.

Código: Seleccionar todo   Expandir vistaContraer vista

sub contando_elementos_en_dialog_0
   
   ' LO 4.7.2
    ' El Dialogo
    Globalscope.BasicLibraries.LoadLibrary( "MRILib" )
    DialogLibraries.LoadLibrary("Standard")
    Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
    Dlg.getPeer().setProperty( "NativeWidgetLook", False ) ' activar cambio de colores en los botones
    dlgmodel = dlg.getModel()
   
   ''  contando los botones del dialog   
   ' mri Dlg.Model
    ' esto si funciona
    num_botones =Dlg.Model.ElementNames
   msgbox UBound(num_botones)+1
   mensaje=""
   For i = 0 to UBound(num_botones)
      boton = Dlg.Model.getByName(num_botones(i))
      tipo= boton.ImplementationName
      boton.Align=1
      mensaje=mensaje & i & ", " & tipo & chr(13)
     ' mri boton
    ' msgbox  boton.Name &  ", " & boton.Height & ",  " &  boton.Width
   next i   
   Dlg.Model.removeByName("222")
   msgbox mensaje   
   'Enumeration: este no funciona
   '   
   '   oEnum = Dlg.Model.createEnumeration()
   '   While dlgmodel.hasElements
   '      Frm = oEnum.nextElement()
   '      msgbox Frm.Name ', Frm.Size.Height, Frm.Size.Width
   '   WEnd      
    dlg.execute()
end sub


Supongo que debe existir un código mejor y eficiente para contar los botores que 'Dlg.Model.ElementNames' y luego para revisar el tipo de cada uno.


Mis agradecimientos
Adjuntos
Macro_Para_contar_buscar_botones_en_dialog.ods
(10.28 KiB) 20 veces
Libreoffice 4.7
Puppy slacko 6 y windows 7
arivas_2005
 
Mensajes: 126
Registrado: Mié Nov 16, 2011 6:01 pm

Re: contar los botones en un dialog, detectar el tipo de c/u

Notapor fornelasa » Mié Dic 20, 2017 6:48 pm

Considero que hiciste bien el código.
Aquí otra forma de hacerlo (no sé si mejor o peor)
Saludos, Federico.
Adjuntos
Macro_Para_contar_buscar_botones_en_dialog (1).ods
Leer controles.
(11.04 KiB) 24 veces
lo 5.4.6 | aoo 4.1.5 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 2976
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: contar los botones en un dialog, detectar el tipo de c/u

Notapor arivas_2005 » Mié Dic 20, 2017 8:40 pm

Gracias fornelasa!
Saludos
Libreoffice 4.7
Puppy slacko 6 y windows 7
arivas_2005
 
Mensajes: 126
Registrado: Mié Nov 16, 2011 6:01 pm


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 3 invitados