** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Ribbon access
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoRibbon access

 Responder Responder
Autor
Mensaje
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3071
Enlace directo a este mensaje Tema: Ribbon access
    Enviado: 25/Septiembre/2019 a las 09:27
Nunca habia tocado este tema y tiene lo suyo, lo han complicado estos de Microsoft.....
La cuetion es que he encontrado unos ejemplos y mas o menos para hacer algo sencillo veo por donde van los tiros.....

https://645c6226-a-62cb3a1a-s-sites.googlegroups.com/site/jjjt1973/Home/creando-la-cinta-de-opciones-ribbon-en-access-2007/EjemploRibbonJJJT.rar?attachauth=ANoY7cqdw2Fi7DxlvFmCsAGkqRGuiR3mgm_-w0W6hckWZwX4OWy5ePNOEn-1xSjjYxW-ZSBVphZulCjPlyoC8ll2wCyEb5X_fGAKdl5i91Kg9o0trqWYJDbhbQtGxY8zjUDOiv0bgRuowvIvWmyaxQr3fRqkUBR8c8nn3XJL49lpUiHoCcIiMOK_e_zsPJaMrw_8R2LcRXKXbRBvpHG5tHuWsbZhrWvXSNY1ioR9y6NySDOjLDrOHfoZUWPDHKTs8_scCeCzqqFdNaZeQTAbgZm-pa6xfeSrquGOmznRWf50aolAlDAJ2jw%3D&attredirects=0&d=1

Tambien estoy utilizando el programa Ribbon creator, que aunque la version gratuita esta limitada me puede valer para empezar, este programa te permite hacer bastantes cosas sin escribir una sola linea de xml.

Utilizando este programa, pongo unos iconos personalizados, en el xml de guarda la ruta real, si voy a otro pc estos iconos no funcionan.

Como podria hacer referencia a una carpeta donde este la base de datos, parecido a CurrentProyect.path de vba. No lo consigo

tag="RibbonName:=IDBERibbonCreator2016;inMenu:=;CustomTagValue1:=;CustomTagValue2:=;CustomTagValue3:=;CustomPicture:=Socios.jpg;CustomPicturePath:=Z:\MisDocumentos\Drive\ACCESS\UNAI BD\BD16 Biblioteca\" onAction="OnActionButton" getVisible="GetVisible" getEnabled="GetEnabled" />
          <button id="btn1" size="large" label="Libros" getImage="GetImages" tag="RibbonName:=IDBERibbonCreator2016;inMenu:=;CustomTagValue1:=;CustomTagValue2:=;CustomTagValue3:=;CustomPicture:=libros.jpg;CustomPicturePath:=CurrentProject.Path &"\"" onAction="OnActionButton" getVisible="GetVisible" getEnabled="GetEnabled" />

He probado de multiples formas y no lo consigo......

Saludos



Editado por rokoko - 25/Septiembre/2019 a las 09:27
Arriba
JuanW Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 12/Mayo/2005
Localización: España
Estado: Sin conexión
Puntos: 267
Enlace directo a este mensaje Enviado: 25/Septiembre/2019 a las 10:03
Has probado a poner una funcion con el path en vez de CurrentProjectPath?

Lo digo porque puede que esa funcion no esté "definida" en los Ribbons. Solo es una idea...

Estoy de acuerdo contigo que lo han hecho "MUY DIFICIL"

Yo hice uno para Excel auto actualizable (combos) que me costo varios "eggs".

Saludos
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3071
Enlace directo a este mensaje Enviado: 25/Septiembre/2019 a las 10:36
Publicado originalmente por JuanW JuanW escribió:

Has probado a poner una funcion con el path en vez de CurrentProjectPath?

Lo digo porque puede que esa funcion no esté "definida" en los Ribbons. Solo es una idea...

Estoy de acuerdo contigo que lo han hecho "MUY DIFICIL"

Yo hice uno para Excel auto actualizable (combos) que me costo varios "eggs".

Saludos


Esplicate mejor....estoy espeso a estas alturas.Confused
Arriba
pitxiku Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 27/Septiembre/2017
Localización: En mi casa
Estado: Sin conexión
Puntos: 1536
Enlace directo a este mensaje Enviado: 25/Septiembre/2019 a las 12:36
Cita <button id="btn1" size="large" label="Libros" getImage="GetImages"


En el atributo getImage puedes indicar una función o macro que devuelva la imagen que quieres mostrar. De hecho, ya tienes declarada la función: GetImages. Sólo tienes que buscarla (entiendo que la aplicación de Gunter crea esa función en la base de datos) o crearla, y así podrás definir dónde están las imágenes:

- https://www.accessribbon.de/en/?Access_-_Ribbons:Callbacks:getImage

Otra posibilidad es usar el atributo ImageMso, donde indicas el id de access para sus iconos, con lo que no tendrás que llevar las imágenes de un ordenador a otro.
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3071
Enlace directo a este mensaje Enviado: 25/Septiembre/2019 a las 13:13
Efectivamente, existe la funcion. Pero no me queda muy claro como indicarle la ruta CurrentProyect.Path

Sub GetImages(control As IRibbonControl, ByRef Image)
    ' Callbackname in XML File "getImages"
   
    ' Loads an image with transparency to the ribbon
    ' Modul basGDIPlus is required
    ' Laed ein Bild mit Transparenz in das Ribbon
    ' Modul basGDIPlus wird dafuer benoetigt
   
    Dim strPicturePath  As String
    Dim strPicture      As String
   
    strPicture = getTheValue(control.Tag, "CustomPicture")
   
    If bolUsePicturesFromTable = True Then
        Set Image = getIconFromTable(strPicture)
    Else
        If bolUseDynamicPicturePath = True Then
            strPicturePath = getAppPath & strAppPicturePath & "\"
        Else
            strPicturePath = getTheValue(control.Tag, "CustomPicturePath")
        End If
        Set Image = LoadPictureGDIP(strPicturePath & strPicture)
    End If

End Sub
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3071
Enlace directo a este mensaje Enviado: 25/Septiembre/2019 a las 14:43
He modificado una linea y funciona...

Sub GetImages(control As IRibbonControl, ByRef Image)
    ' Callbackname in XML File "getImages"
   
    ' Loads an image with transparency to the ribbon
    ' Modul basGDIPlus is required
    ' Laed ein Bild mit Transparenz in das Ribbon
    ' Modul basGDIPlus wird dafuer benoetigt
   
    Dim strPicturePath  As String
    Dim strPicture      As String
   
    strPicture = getTheValue(control.Tag, "CustomPicture")
   
    If bolUsePicturesFromTable = True Then
        Set Image = getIconFromTable(strPicture)
    Else
        If bolUseDynamicPicturePath = True Then
            strPicturePath = getAppPath & strAppPicturePath & "\"
        Else
            'strPicturePath = getTheValue(control.Tag, "CustomPicturePath")
            strPicturePath = CurrentProject.Path & "\IconosAplicacion\"    '!!!!!Para que pille los iconos de la aplicacion de la carpeta donde esta la base de datos
        End If
        Set Image = LoadPictureGDIP(strPicturePath & strPicture)
    End If

End Sub



Editado por rokoko - 25/Septiembre/2019 a las 14:43
Arriba
emiliove Ver desplegable
Administrador
Administrador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5704
Enlace directo a este mensaje Enviado: 26/Septiembre/2019 a las 01:43
Hola Rokoko
Solo te falto decir que podemos cerrar, mientras te dire:
Tenemos dos atributos en el XML del Ribbon para tratar las imágenes uno es Estático y el otro Dinámico, el estático va en el elemento raíz del XML: customUI  que es loadImage que en la devolución de llamada quedaría:


Callbacks del loadImage:


Sub MyloadImage(ImageName As String, ByRef Image)

    Dim stPath As String

    stPath = CurrentProject.Path & "\imagenes\" & ImageName

Set Image = LoadPicture(stPath)

End Sub


Aquí en el atributo del control usarías Image


Y en el dinamico es en el mismo atributo del control con getImage y la devolución quedaría mas o menos así:

Callbacks del GetImages:


Public Sub onGetImages(control As IRibbonControl, ByRef Image)

    Select Case control.Id

Case "buttonPedidos"

 Set Image = LoadPicture(CurrentProject.Path & "\imagenes\actividades.jpg")

    End Select

    End Sub



Saludos.


Editado por emiliove - 26/Septiembre/2019 a las 01:43
Arriba
rokoko Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 16/Febrero/2008
Localización: Pamplona
Estado: Sin conexión
Puntos: 3071
Enlace directo a este mensaje Enviado: 26/Septiembre/2019 a las 07:09
Gracias Emilio, algo mas claro me queda, pero tiene tela esto de los Ribbon.

Saludos

Se puede cerrar
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable