Página 1 de 1

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

Publicado: Jue Dic 14, 2017 6:24 pm
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

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

Publicado: Mié Dic 20, 2017 6:48 pm
por fornelasa
Considero que hiciste bien el código.
Aquí otra forma de hacerlo (no sé si mejor o peor)
Saludos, Federico.

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

Publicado: Mié Dic 20, 2017 8:40 pm
por arivas_2005
Gracias fornelasa!
Saludos