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...
Responder
arivas_2005
Mensajes: 162
Registrado: Mié Nov 16, 2011 6:01 pm

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

Mensaje por arivas_2005 »

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


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) Descargado 158 veces
Libreoffice 4.7
Puppy slacko 6 y windows 7
Avatar de Usuario
fornelasa
Mensajes: 3268
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

Mensaje por fornelasa »

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) Descargado 172 veces
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
arivas_2005
Mensajes: 162
Registrado: Mié Nov 16, 2011 6:01 pm

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

Mensaje por arivas_2005 »

Gracias fornelasa!
Saludos
Libreoffice 4.7
Puppy slacko 6 y windows 7
Responder