Colore Sfondo

di il
10 risposte

Colore Sfondo

Salve,
In una maschera, un campo con Tipo dati --> Si/No avrei necessità che il colore dell'etichetta cambi a seconda che sia seleziona si o no.
Il codice qui sotto non da ne errore ne niente però il colore di sfondo non cambia.
Cos'altro manca?

Grazie


Private Sub Form_Load()
    If OrdineEvaso = True Then
        Me.Etichetta_OrdineEvaso.BackColor = lngGreen
        Else
        Me.Etichetta_OrdineEvaso.BackColor = lngRed
    End If
End Sub

10 Risposte

  • Re: Colore Sfondo

    Usa la FORMATTAZIONE CONDIZIONALE (senza usare VBA).
  • Re: Colore Sfondo

    Ovviamente sulle LABEL non si usa la Formattazione condizionata, quindi il suggerimento di Osvaldo non va bene.

    Non ottieni quello che vuoi perchè l'etichetta è TRASPARENTE ed è una PROPRIETA' prioritaria rispetto al colore.
    Imposta il colore dell'etichetta conun Default diverso dal trasparente, magari lo sfondo della Form... e vedrai che funziona.

    P.S. se vuoi usare colori standard... ci sono le COSTANTI di sistema [vbRed e vbGreen]
  • Re: Colore Sfondo

    Buongiorno,
    vi ringrazio per i consigli.
    Ho usato il codice in quanto in questo caso la F.c. non può essere usata.

    Mantenendo il codice che ho detto, cliccando sull'etichetta (OrdineEvaso), in FORMATO ho modificato STILE SFONDO in NORMALE e ho messo COLORE SFONDO = un qualsiasi colore. Intendi qui ALEX?

    Nel momento che la maschera la sto visualizzando in VISUALIZZAZIONE STRUTTURA lo sfondo della mia etichetta è del colore selezionato. Nel momento che vado in VISUALIZZAZIONE MASCHERA tale etichetta è tutto nera cosi come le parole, tradotto non vedo una cippa.

    Per inciso il colore dello sfondo scelto in COLORE SFONDO è azzurrino.
    Il colore della FORM (tasto dx su form --> Colore Riempimento Sfondo è bianco, ho provato a cambiare colore ma l'etichetta è sempre tutta nera

    Che mi son perso?

    PS. Se può servire, l'etichetta il relativo Si/NO si trova in INTESTAZIONE MASCHERA
  • Re: Colore Sfondo

    luca3.34 ha scritto:


    ...
    Nel momento che la maschera la sto visualizzando in VISUALIZZAZIONE STRUTTURA lo sfondo della mia etichetta è del colore selezionato.
    Riassunto delle informazioni che possono essere utili:
    1) hai impostato lo stile sfondo dell'etichetta a "normale" (e non "trasparente")?
    2) il tipo di visualizzazione della maschera: singola o continua?
    3) dove si trova l'etichetta di cui modificare lo sfondo?
    4) dove si trova il controllo OrdineEvaso?
    5) è ammesso modificare il contenuto di OrdineEvaso?
  • Re: Colore Sfondo

    Philcattivocarattere ha scritto:


    luca3.34 ha scritto:


    ...
    Nel momento che la maschera la sto visualizzando in VISUALIZZAZIONE STRUTTURA lo sfondo della mia etichetta è del colore selezionato.
    Riassunto delle informazioni che possono essere utili:
    1) hai impostato lo stile sfondo dell'etichetta a "normale" (e non "trasparente")?
    2) il tipo di visualizzazione della maschera: singola o continua?
    3) dove si trova l'etichetta di cui modificare lo sfondo?
    4) dove si trova il controllo OrdineEvaso?
    5) è ammesso modificare il contenuto di OrdineEvaso?
    1) Si, è settato a normale
    2) maschera singola
    3) L'etichetta si trova nella maschera ORDINI in Intestazione Maschera. Ho provato per curiosità a metterla nel corpo ma non cambia nulla
    4) Come punto 3. é sempre vicino alla sua etichetta
    5) Sulla form della maschera corrente non è possibile modificare il contenuto dei campi, immissione dati, eliminazioni, modifiche. Per farlo devo cliccare un pulsante che abilita i vari .allow...... = true

    Tale etichetta e relativo controllo sono nella maschera principale e non nella sotto maschera.

    Onestamente mi sembra di non essermi perso nessun passaggio. Non è necessaria questa funzione del colore in automatico però mi semplificherebbe la vita non poco
  • Re: Colore Sfondo

    luca3.34 ha scritto:


    ...
    Onestamente mi sembra di non essermi perso nessun passaggio. Non è necessaria questa funzione del colore in automatico però mi semplificherebbe la vita non poco
    Il codice va messo nell'evento Current della maschera. Se prevedi di modificare il contenuto di OrdineEvaso devi prevedere il cambiamento di colore anche nel suo AfterUpdate. A questo punto crea una Sub da richiamare in più eventi, per non dover ripetere codice inutilmente.
  • Re: Colore Sfondo

    Ok ti ringrazio.
    Per cambiare il colore lo cambia (a questo punto come lo faceva prima), il problema è che è sempre nero (con tanto di scritte).
    lngGreen e lngRed mi sembrano corretti.
    Boh,...
    
            Me.Etichetta_OrdineEvaso.BackColor = lngGreen
            Else
            Me.Etichetta_OrdineEvaso.BackColor = lngRed
    
  • Re: Colore Sfondo

    luca3.34 ha scritto:


    ...
    lngGreen e lngRed mi sembrano corretti.

    @Alex ha scritto:


    ..ci sono le COSTANTI di sistema [vbRed e vbGreen]
    vb, non lng
    Se avessi messo Option Explicit all'inizio del modulo, così da dover dichiarare tutte le variabili, al debug avrebbe segnalato che quelle variabili non esistono. A meno che tu non le abbia dichiarate a livello di modulo assegnando però un valore tramite
    lngGreen = RGB(...)
    ma ho il vago sospetto che non sia così.
  • Re: Colore Sfondo

    luca3.34 ha scritto:


    Ok ti ringrazio.
    Per cambiare il colore lo cambia (a questo punto come lo faceva prima), il problema è che è sempre nero (con tanto di scritte).
    lngGreen e lngRed mi sembrano corretti.
    Boh,...
    
            Me.Etichetta_OrdineEvaso.BackColor = lngGreen
            Else
            Me.Etichetta_OrdineEvaso.BackColor = lngRed
    
    Fatico a capire se leggi quello che ti viene suggerito...
    È stata una delle prime cose che ti ho fatto notare...!!!!!
  • Re: Colore Sfondo

    Leggendo velocemente non avevo fatto caso fosse vbGreen e non lngGreen.
    Fregato da una stupidata
    Grazie a tutti
Devi accedere o registrarti per scrivere nel forum
10 risposte