Cambiare immagine pulsante

di il
3 risposte

Cambiare immagine pulsante

Salve, vorrei sapere se è possibile cambiare immagine ad un pulsante che mi filtra i dati in una maschera in base a delle scelte effettuate. Attualmente la routine associata mi cambia l'etichetta al pulsante (filtrato / non filtrato) vorrei pure cambiare l'immagine del pulsante(immagine filtro) prendendola tra quelle predefinite in access.
Grazie

3 Risposte

  • Re: Cambiare immagine pulsante

    Dobbiamo fare una premessa.
    MsAccess ha 2 Set di Immagini usabili per i CommandButton, ma, per entrambi i set, serve scrivere una discreta quantità di Codice per accedere alle immagini.
    1° FaceID, in questo caso non c'è più l'api disponibile per accedere all'immagine da quando hanno implementato la Trasparenza, quindi serve creare una CommandBar, assegnare il FaceID ad un CommandBarControl e, da questo recuperare la proprietà PICTURE ed assegnarla al tuo Button.... passaggio molto inutile.

    2° ImageMSO, sono quelle di sistema usare per i Ribbon, per questo, non essendo BMP serve prelevare l'immagine
    
    Set Image = Application.CommandBars.GetImageMso(ImageMSO, 16, 16)
    Dobe l'oggetti Image è un IPictureDisp, ma non compatibile con l'array Picture, quindi oltre ad aggiungere l'Header BMP serve convertire il tutto in Array.

    La 2° è più complicata, io le ho sviluppate emtrambe, ed entrambe fattibili... ma ti espongo un metodo banale che credo sia meglio.

    Metti 2 CommandButton nella Maschera, impostando la proprietà a Visibile=False, ognuno con l'icona selezionata che ti piace.
    Quindi avrai [cmdImg1] e [cmdImg2], e, su condizione fai
    
    Me.cmdTuoPulsante.PictureData=IIF(Condizione,Me.cmdImg1.PictureData,Me.cmdImg2.PictureData)
    In questo modo il tuo CommandButton [cmdTuoPulsante] cambia immagine a seconda della [condizione] copiando l'immagine da 2 CommandButton FITTIZZI.
  • Re: Cambiare immagine pulsante

    Ciao Alex, grazie per l'esauriente spiegazione, io avevo pensato ad usare 2 pulsanti, il predefinito (Non filtrato) visibile e il secondo (Filtrato) non visibile e tramite codice alternare la visibilità. Alla soluzione del copiare l'immagine non avevo proprio pensato!!! userò questa
    Grazie mille
  • Re: Cambiare immagine pulsante

    Meglio così il codice Evento è sempre quello.
Devi accedere o registrarti per scrivere nel forum
3 risposte